Class AwsFunctions


  • public final class AwsFunctions
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      AwsFunctions()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static com.pulumi.core.Output<java.lang.Void> arnBuild​(java.lang.String partition, java.lang.String service, java.lang.String region, java.lang.String accountId, java.lang.String resource)
      Builds an ARN from its constituent parts.
      static com.pulumi.core.Output<java.lang.Void> arnBuild​(java.lang.String partition, java.lang.String service, java.lang.String region, java.lang.String accountId, java.lang.String resource, com.pulumi.deployment.InvokeOptions options)
      Builds an ARN from its constituent parts.
      static com.pulumi.core.Output<java.lang.Void> arnBuild​(java.lang.String partition, java.lang.String service, java.lang.String region, java.lang.String accountId, java.lang.String resource, com.pulumi.deployment.InvokeOutputOptions options)
      Builds an ARN from its constituent parts.
      static java.util.concurrent.CompletableFuture<java.lang.Void> arnBuildPlain​(java.lang.String partition, java.lang.String service, java.lang.String region, java.lang.String accountId, java.lang.String resource)
      Builds an ARN from its constituent parts.
      static java.util.concurrent.CompletableFuture<java.lang.Void> arnBuildPlain​(java.lang.String partition, java.lang.String service, java.lang.String region, java.lang.String accountId, java.lang.String resource, com.pulumi.deployment.InvokeOptions options)
      Builds an ARN from its constituent parts.
      static com.pulumi.core.Output<ArnParseResult> arnParse​(java.lang.String arn)
      Parses an ARN into its constituent parts.
      static com.pulumi.core.Output<ArnParseResult> arnParse​(java.lang.String arn, com.pulumi.deployment.InvokeOptions options)
      Parses an ARN into its constituent parts.
      static com.pulumi.core.Output<ArnParseResult> arnParse​(java.lang.String arn, com.pulumi.deployment.InvokeOutputOptions options)
      Parses an ARN into its constituent parts.
      static java.util.concurrent.CompletableFuture<ArnParseResult> arnParsePlain​(java.lang.String arn)
      Parses an ARN into its constituent parts.
      static java.util.concurrent.CompletableFuture<ArnParseResult> arnParsePlain​(java.lang.String arn, com.pulumi.deployment.InvokeOptions options)
      Parses an ARN into its constituent parts.
      static com.pulumi.core.Output<GetArnResult> getArn​(GetArnArgs args)
      Parses an ARN into its constituent parts.
      static com.pulumi.core.Output<GetArnResult> getArn​(GetArnArgs args, com.pulumi.deployment.InvokeOptions options)
      Parses an ARN into its constituent parts.
      static com.pulumi.core.Output<GetArnResult> getArn​(GetArnArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Parses an ARN into its constituent parts.
      static java.util.concurrent.CompletableFuture<GetArnResult> getArnPlain​(GetArnPlainArgs args)
      Parses an ARN into its constituent parts.
      static java.util.concurrent.CompletableFuture<GetArnResult> getArnPlain​(GetArnPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Parses an ARN into its constituent parts.
      static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone()
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone​(GetAvailabilityZoneArgs args)
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone​(GetAvailabilityZoneArgs args, com.pulumi.deployment.InvokeOptions options)
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone​(GetAvailabilityZoneArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static java.util.concurrent.CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain()
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static java.util.concurrent.CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain​(GetAvailabilityZonePlainArgs args)
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static java.util.concurrent.CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain​(GetAvailabilityZonePlainArgs args, com.pulumi.deployment.InvokeOptions options)
      `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region.
      static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones()
      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 configured in the provider.
      static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones​(GetAvailabilityZonesArgs args)
      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 configured in the provider.
      static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones​(GetAvailabilityZonesArgs args, com.pulumi.deployment.InvokeOptions options)
      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 configured in the provider.
      static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones​(GetAvailabilityZonesArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      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 configured in the provider.
      static java.util.concurrent.CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain()
      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 configured in the provider.
      static java.util.concurrent.CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain​(GetAvailabilityZonesPlainArgs args)
      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 configured in the provider.
      static java.util.concurrent.CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain​(GetAvailabilityZonesPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      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 configured in the provider.
      static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount()
      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.
      static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount​(GetBillingServiceAccountArgs args)
      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.
      static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount​(GetBillingServiceAccountArgs args, com.pulumi.deployment.InvokeOptions options)
      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.
      static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount​(GetBillingServiceAccountArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      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.
      static java.util.concurrent.CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain()
      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.
      static java.util.concurrent.CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain​(GetBillingServiceAccountPlainArgs args)
      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.
      static java.util.concurrent.CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain​(GetBillingServiceAccountPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      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.
      static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity()
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity​(GetCallerIdentityArgs args)
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity​(GetCallerIdentityArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity​(GetCallerIdentityArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static java.util.concurrent.CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain()
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static java.util.concurrent.CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain​(GetCallerIdentityPlainArgs args)
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static java.util.concurrent.CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain​(GetCallerIdentityPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized.
      static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags()
      Use this data source to get the default tags configured on the provider.
      static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags​(GetDefaultTagsArgs args)
      Use this data source to get the default tags configured on the provider.
      static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags​(GetDefaultTagsArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to get the default tags configured on the provider.
      static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags​(GetDefaultTagsArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Use this data source to get the default tags configured on the provider.
      static java.util.concurrent.CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain()
      Use this data source to get the default tags configured on the provider.
      static java.util.concurrent.CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain​(GetDefaultTagsPlainArgs args)
      Use this data source to get the default tags configured on the provider.
      static java.util.concurrent.CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain​(GetDefaultTagsPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to get the default tags configured on the provider.
      static com.pulumi.core.Output<GetIpRangesResult> getIpRanges​(GetIpRangesArgs args)
      Use this data source to get the IP ranges of various AWS products and services.
      static com.pulumi.core.Output<GetIpRangesResult> getIpRanges​(GetIpRangesArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to get the IP ranges of various AWS products and services.
      static com.pulumi.core.Output<GetIpRangesResult> getIpRanges​(GetIpRangesArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Use this data source to get the IP ranges of various AWS products and services.
      static java.util.concurrent.CompletableFuture<GetIpRangesResult> getIpRangesPlain​(GetIpRangesPlainArgs args)
      Use this data source to get the IP ranges of various AWS products and services.
      static java.util.concurrent.CompletableFuture<GetIpRangesResult> getIpRangesPlain​(GetIpRangesPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to get the IP ranges of various AWS products and services.
      static com.pulumi.core.Output<GetPartitionResult> getPartition()
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static com.pulumi.core.Output<GetPartitionResult> getPartition​(GetPartitionArgs args)
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static com.pulumi.core.Output<GetPartitionResult> getPartition​(GetPartitionArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static com.pulumi.core.Output<GetPartitionResult> getPartition​(GetPartitionArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static java.util.concurrent.CompletableFuture<GetPartitionResult> getPartitionPlain()
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static java.util.concurrent.CompletableFuture<GetPartitionResult> getPartitionPlain​(GetPartitionPlainArgs args)
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static java.util.concurrent.CompletableFuture<GetPartitionResult> getPartitionPlain​(GetPartitionPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to lookup information about the current AWS partition in which the provider is working.
      static com.pulumi.core.Output<GetRegionResult> getRegion()
      `aws.getRegion` provides details about a specific AWS Region.
      static com.pulumi.core.Output<GetRegionResult> getRegion​(GetRegionArgs args)
      `aws.getRegion` provides details about a specific AWS Region.
      static com.pulumi.core.Output<GetRegionResult> getRegion​(GetRegionArgs args, com.pulumi.deployment.InvokeOptions options)
      `aws.getRegion` provides details about a specific AWS Region.
      static com.pulumi.core.Output<GetRegionResult> getRegion​(GetRegionArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      `aws.getRegion` provides details about a specific AWS Region.
      static java.util.concurrent.CompletableFuture<GetRegionResult> getRegionPlain()
      `aws.getRegion` provides details about a specific AWS Region.
      static java.util.concurrent.CompletableFuture<GetRegionResult> getRegionPlain​(GetRegionPlainArgs args)
      `aws.getRegion` provides details about a specific AWS Region.
      static java.util.concurrent.CompletableFuture<GetRegionResult> getRegionPlain​(GetRegionPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      `aws.getRegion` provides details about a specific AWS Region.
      static com.pulumi.core.Output<GetRegionsResult> getRegions()
      Provides information about AWS Regions.
      static com.pulumi.core.Output<GetRegionsResult> getRegions​(GetRegionsArgs args)
      Provides information about AWS Regions.
      static com.pulumi.core.Output<GetRegionsResult> getRegions​(GetRegionsArgs args, com.pulumi.deployment.InvokeOptions options)
      Provides information about AWS Regions.
      static com.pulumi.core.Output<GetRegionsResult> getRegions​(GetRegionsArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Provides information about AWS Regions.
      static java.util.concurrent.CompletableFuture<GetRegionsResult> getRegionsPlain()
      Provides information about AWS Regions.
      static java.util.concurrent.CompletableFuture<GetRegionsResult> getRegionsPlain​(GetRegionsPlainArgs args)
      Provides information about AWS Regions.
      static java.util.concurrent.CompletableFuture<GetRegionsResult> getRegionsPlain​(GetRegionsPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Provides information about AWS Regions.
      static com.pulumi.core.Output<GetServiceResult> getService()
      Use this data source to compose and decompose AWS service DNS names.
      static com.pulumi.core.Output<GetServiceResult> getService​(GetServiceArgs args)
      Use this data source to compose and decompose AWS service DNS names.
      static com.pulumi.core.Output<GetServiceResult> getService​(GetServiceArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to compose and decompose AWS service DNS names.
      static com.pulumi.core.Output<GetServiceResult> getService​(GetServiceArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Use this data source to compose and decompose AWS service DNS names.
      static java.util.concurrent.CompletableFuture<GetServiceResult> getServicePlain()
      Use this data source to compose and decompose AWS service DNS names.
      static java.util.concurrent.CompletableFuture<GetServiceResult> getServicePlain​(GetServicePlainArgs args)
      Use this data source to compose and decompose AWS service DNS names.
      static java.util.concurrent.CompletableFuture<GetServiceResult> getServicePlain​(GetServicePlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to compose and decompose AWS service DNS names.
      static com.pulumi.core.Output<GetServicePrincipalResult> getServicePrincipal​(GetServicePrincipalArgs args)
      Use this data source to create a Service Principal Name for a service in a given region.
      static com.pulumi.core.Output<GetServicePrincipalResult> getServicePrincipal​(GetServicePrincipalArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to create a Service Principal Name for a service in a given region.
      static com.pulumi.core.Output<GetServicePrincipalResult> getServicePrincipal​(GetServicePrincipalArgs args, com.pulumi.deployment.InvokeOutputOptions options)
      Use this data source to create a Service Principal Name for a service in a given region.
      static java.util.concurrent.CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain​(GetServicePrincipalPlainArgs args)
      Use this data source to create a Service Principal Name for a service in a given region.
      static java.util.concurrent.CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain​(GetServicePrincipalPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to create a Service Principal Name for a service in a given region.
      static com.pulumi.core.Output<java.lang.Void> trimIamRolePath​(java.lang.String arn)
      Trims the path prefix from an IAM role ARN.
      static com.pulumi.core.Output<java.lang.Void> trimIamRolePath​(java.lang.String arn, com.pulumi.deployment.InvokeOptions options)
      Trims the path prefix from an IAM role ARN.
      static com.pulumi.core.Output<java.lang.Void> trimIamRolePath​(java.lang.String arn, com.pulumi.deployment.InvokeOutputOptions options)
      Trims the path prefix from an IAM role ARN.
      static java.util.concurrent.CompletableFuture<java.lang.Void> trimIamRolePathPlain​(java.lang.String arn)
      Trims the path prefix from an IAM role ARN.
      static java.util.concurrent.CompletableFuture<java.lang.Void> trimIamRolePathPlain​(java.lang.String arn, com.pulumi.deployment.InvokeOptions options)
      Trims the path prefix from an IAM role ARN.
      static com.pulumi.core.Output<java.lang.Void> userAgent​(java.lang.String productName, java.lang.String productVersion, java.lang.String comment)
      Formats a User-Agent product for use with the `userAgent` argument in the `provider` block.
      static com.pulumi.core.Output<java.lang.Void> userAgent​(java.lang.String productName, java.lang.String productVersion, java.lang.String comment, com.pulumi.deployment.InvokeOptions options)
      Formats a User-Agent product for use with the `userAgent` argument in the `provider` block.
      static com.pulumi.core.Output<java.lang.Void> userAgent​(java.lang.String productName, java.lang.String productVersion, java.lang.String comment, com.pulumi.deployment.InvokeOutputOptions options)
      Formats a User-Agent product for use with the `userAgent` argument in the `provider` block.
      static java.util.concurrent.CompletableFuture<java.lang.Void> userAgentPlain​(java.lang.String productName, java.lang.String productVersion, java.lang.String comment)
      Formats a User-Agent product for use with the `userAgent` argument in the `provider` block.
      static java.util.concurrent.CompletableFuture<java.lang.Void> userAgentPlain​(java.lang.String productName, java.lang.String productVersion, java.lang.String comment, com.pulumi.deployment.InvokeOptions options)
      Formats a User-Agent product for use with the `userAgent` argument in the `provider` block.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AwsFunctions

        public AwsFunctions()
    • Method Detail

      • arnBuild

        public static com.pulumi.core.Output<java.lang.Void> arnBuild​(java.lang.String partition,
                                                                      java.lang.String service,
                                                                      java.lang.String region,
                                                                      java.lang.String accountId,
                                                                      java.lang.String resource)
        Builds an ARN from its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnBuildPlain

        public static java.util.concurrent.CompletableFuture<java.lang.Void> arnBuildPlain​(java.lang.String partition,
                                                                                           java.lang.String service,
                                                                                           java.lang.String region,
                                                                                           java.lang.String accountId,
                                                                                           java.lang.String resource)
        Builds an ARN from its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnBuild

        public static com.pulumi.core.Output<java.lang.Void> arnBuild​(java.lang.String partition,
                                                                      java.lang.String service,
                                                                      java.lang.String region,
                                                                      java.lang.String accountId,
                                                                      java.lang.String resource,
                                                                      com.pulumi.deployment.InvokeOptions options)
        Builds an ARN from its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnBuild

        public static com.pulumi.core.Output<java.lang.Void> arnBuild​(java.lang.String partition,
                                                                      java.lang.String service,
                                                                      java.lang.String region,
                                                                      java.lang.String accountId,
                                                                      java.lang.String resource,
                                                                      com.pulumi.deployment.InvokeOutputOptions options)
        Builds an ARN from its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnBuildPlain

        public static java.util.concurrent.CompletableFuture<java.lang.Void> arnBuildPlain​(java.lang.String partition,
                                                                                           java.lang.String service,
                                                                                           java.lang.String region,
                                                                                           java.lang.String accountId,
                                                                                           java.lang.String resource,
                                                                                           com.pulumi.deployment.InvokeOptions options)
        Builds an ARN from its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnParse

        public static com.pulumi.core.Output<ArnParseResult> arnParse​(java.lang.String arn)
        Parses an ARN into its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnParsePlain

        public static java.util.concurrent.CompletableFuture<ArnParseResult> arnParsePlain​(java.lang.String arn)
        Parses an ARN into its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnParse

        public static com.pulumi.core.Output<ArnParseResult> arnParse​(java.lang.String arn,
                                                                      com.pulumi.deployment.InvokeOptions options)
        Parses an ARN into its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnParse

        public static com.pulumi.core.Output<ArnParseResult> arnParse​(java.lang.String arn,
                                                                      com.pulumi.deployment.InvokeOutputOptions options)
        Parses an ARN into its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • arnParsePlain

        public static java.util.concurrent.CompletableFuture<ArnParseResult> arnParsePlain​(java.lang.String arn,
                                                                                           com.pulumi.deployment.InvokeOptions options)
        Parses an ARN into its constituent parts. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) for additional information on ARNs. ## Signature
      • getArn

        public static com.pulumi.core.Output<GetArnResult> getArn​(GetArnArgs args)
        Parses an ARN into its constituent parts. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetArnArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()
                     .arn("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")
                     .build());
         
             }
         }
         
         
      • getArnPlain

        public static java.util.concurrent.CompletableFuture<GetArnResult> getArnPlain​(GetArnPlainArgs args)
        Parses an ARN into its constituent parts. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetArnArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()
                     .arn("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")
                     .build());
         
             }
         }
         
         
      • getArn

        public static com.pulumi.core.Output<GetArnResult> getArn​(GetArnArgs args,
                                                                  com.pulumi.deployment.InvokeOptions options)
        Parses an ARN into its constituent parts. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetArnArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()
                     .arn("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")
                     .build());
         
             }
         }
         
         
      • getArn

        public static com.pulumi.core.Output<GetArnResult> getArn​(GetArnArgs args,
                                                                  com.pulumi.deployment.InvokeOutputOptions options)
        Parses an ARN into its constituent parts. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetArnArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()
                     .arn("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")
                     .build());
         
             }
         }
         
         
      • getArnPlain

        public static java.util.concurrent.CompletableFuture<GetArnResult> getArnPlain​(GetArnPlainArgs args,
                                                                                       com.pulumi.deployment.InvokeOptions options)
        Parses an ARN into its constituent parts. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetArnArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()
                     .arn("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")
                     .build());
         
             }
         }
         
         
      • getAvailabilityZone

        public static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone()
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZonePlain

        public static java.util.concurrent.CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain()
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZone

        public static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone​(GetAvailabilityZoneArgs args)
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZonePlain

        public static java.util.concurrent.CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain​(GetAvailabilityZonePlainArgs args)
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZone

        public static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone​(GetAvailabilityZoneArgs args,
                                                                                            com.pulumi.deployment.InvokeOptions options)
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZone

        public static com.pulumi.core.Output<GetAvailabilityZoneResult> getAvailabilityZone​(GetAvailabilityZoneArgs args,
                                                                                            com.pulumi.deployment.InvokeOutputOptions options)
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZonePlain

        public static java.util.concurrent.CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain​(GetAvailabilityZonePlainArgs args,
                                                                                                                 com.pulumi.deployment.InvokeOptions options)
        `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) in the current Region. This can be used both to validate an availability zone given in a variable and to split the AZ name into its component parts of an AWS Region and an AZ identifier letter. The latter may be useful e.g., for implementing a consistent subnet numbering scheme across several regions by mapping both the region and the subnet letter to network numbers. This is different from the `aws.getAvailabilityZones` (plural) data source, which provides a list of the available zones. ## Example Usage The following example shows how this data source might be used to derive VPC and subnet CIDR prefixes systematically for an availability zone.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
         import com.pulumi.aws.ec2.Vpc;
         import com.pulumi.aws.ec2.VpcArgs;
         import com.pulumi.std.StdFunctions;
         import com.pulumi.std.inputs.CidrsubnetArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var config = ctx.config();
                 final var regionNumber = config.get("regionNumber").orElse(Map.ofEntries(
                     Map.entry("ap-northeast-1", 5),
                     Map.entry("eu-central-1", 4),
                     Map.entry("us-east-1", 1),
                     Map.entry("us-west-1", 2),
                     Map.entry("us-west-2", 3)
                 ));
                 final var azNumber = config.get("azNumber").orElse(Map.ofEntries(
                     Map.entry("a", 1),
                     Map.entry("b", 2),
                     Map.entry("c", 3),
                     Map.entry("d", 4),
                     Map.entry("e", 5),
                     Map.entry("f", 6)
                 ));
                 // Retrieve the AZ where we want to create network resources
                 // This must be in the region selected on the AWS provider.
                 final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
                     .name("eu-central-1a")
                     .build());
         
                 // Create a VPC for the region associated with the AZ
                 var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input("10.0.0.0/8")
                         .newbits(4)
                         .netnum(regionNumber[example.region()])
                         .build()).result())
                     .build());
         
                 // Create a subnet for the AZ within the regional VPC
                 var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                     .vpcId(exampleVpc.id())
                     .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                         .input(exampleVpc.cidrBlock())
                         .newbits(4)
                         .netnum(azNumber[example.nameSuffix()])
                         .build()).applyValue(_invoke -> _invoke.result()))
                     .build());
         
             }
         }
         
         
      • getAvailabilityZones

        public static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones()
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getAvailabilityZonesPlain

        public static java.util.concurrent.CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain()
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getAvailabilityZones

        public static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones​(GetAvailabilityZonesArgs args)
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getAvailabilityZonesPlain

        public static java.util.concurrent.CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain​(GetAvailabilityZonesPlainArgs args)
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getAvailabilityZones

        public static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones​(GetAvailabilityZonesArgs args,
                                                                                              com.pulumi.deployment.InvokeOptions options)
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getAvailabilityZones

        public static com.pulumi.core.Output<GetAvailabilityZonesResult> getAvailabilityZones​(GetAvailabilityZonesArgs args,
                                                                                              com.pulumi.deployment.InvokeOutputOptions options)
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getAvailabilityZonesPlain

        public static java.util.concurrent.CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain​(GetAvailabilityZonesPlainArgs args,
                                                                                                                   com.pulumi.deployment.InvokeOptions options)
        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 configured in the provider. This is different from the `aws.getAvailabilityZone` (singular) data source, which provides some details about a specific availability zone. > 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. ## Example Usage ### By State
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.ec2.Subnet;
         import com.pulumi.aws.ec2.SubnetArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 // Declare the data source
                 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .state("available")
                     .build());
         
                 // e.g., Create subnets in the first two available availability zones
                 var primary = new Subnet("primary", SubnetArgs.builder()
                     .availabilityZone(available.names()[0])
                     .build());
         
                 var secondary = new Subnet("secondary", SubnetArgs.builder()
                     .availabilityZone(available.names()[1])
                     .build());
         
             }
         }
         
         
        ### By Filter All Local Zones (regardless of opt-in status):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values(                
                             "not-opted-in",
                             "opted-in")
                         .build())
                     .allAvailabilityZones(true)
                     .build());
         
             }
         }
         
         
        Only Availability Zones (no Local Zones):
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
         import com.pulumi.aws.inputs.GetAvailabilityZonesFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                     .filters(GetAvailabilityZonesFilterArgs.builder()
                         .name("opt-in-status")
                         .values("opt-in-not-required")
                         .build())
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccount

        public static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount()
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain()
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccount

        public static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount​(GetBillingServiceAccountArgs args)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain​(GetBillingServiceAccountPlainArgs args)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccount

        public static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount​(GetBillingServiceAccountArgs args,
                                                                                                      com.pulumi.deployment.InvokeOptions options)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccount

        public static com.pulumi.core.Output<GetBillingServiceAccountResult> getBillingServiceAccount​(GetBillingServiceAccountArgs args,
                                                                                                      com.pulumi.deployment.InvokeOutputOptions options)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getBillingServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain​(GetBillingServiceAccountPlainArgs args,
                                                                                                                           com.pulumi.deployment.InvokeOptions options)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
         import com.pulumi.aws.s3.Bucket;
         import com.pulumi.aws.s3.BucketArgs;
         import com.pulumi.aws.s3.BucketAcl;
         import com.pulumi.aws.s3.BucketAclArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
         import com.pulumi.aws.s3.BucketPolicy;
         import com.pulumi.aws.s3.BucketPolicyArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var main = AwsFunctions.getBillingServiceAccount(GetBillingServiceAccountArgs.builder()
                     .build());
         
                 var billingLogs = new Bucket("billingLogs", BucketArgs.builder()
                     .bucket("my-billing-tf-test-bucket")
                     .build());
         
                 var billingLogsAcl = new BucketAcl("billingLogsAcl", BucketAclArgs.builder()
                     .bucket(billingLogs.id())
                     .acl("private")
                     .build());
         
                 final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(            
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions(                    
                                 "s3:GetBucketAcl",
                                 "s3:GetBucketPolicy")
                             .resources(billingLogs.arn())
                             .build(),
                         GetPolicyDocumentStatementArgs.builder()
                             .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                                 .type("AWS")
                                 .identifiers(main.arn())
                                 .build())
                             .effect("Allow")
                             .actions("s3:PutObject")
                             .resources(billingLogs.arn().applyValue(_arn -> String.format("%s/*", _arn)))
                             .build())
                     .build());
         
                 var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
                     .bucket(billingLogs.id())
                     .policy(allowBillingLogging.applyValue(_allowBillingLogging -> _allowBillingLogging.json()))
                     .build());
         
             }
         }
         
         
      • getCallerIdentity

        public static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity()
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getCallerIdentityPlain

        public static java.util.concurrent.CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain()
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getCallerIdentity

        public static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity​(GetCallerIdentityArgs args)
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getCallerIdentityPlain

        public static java.util.concurrent.CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain​(GetCallerIdentityPlainArgs args)
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getCallerIdentity

        public static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity​(GetCallerIdentityArgs args,
                                                                                        com.pulumi.deployment.InvokeOptions options)
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getCallerIdentity

        public static com.pulumi.core.Output<GetCallerIdentityResult> getCallerIdentity​(GetCallerIdentityArgs args,
                                                                                        com.pulumi.deployment.InvokeOutputOptions options)
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getCallerIdentityPlain

        public static java.util.concurrent.CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain​(GetCallerIdentityPlainArgs args,
                                                                                                             com.pulumi.deployment.InvokeOptions options)
        Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetCallerIdentityArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                     .build());
         
                 ctx.export("accountId", current.accountId());
                 ctx.export("callerArn", current.arn());
                 ctx.export("callerUser", current.userId());
             }
         }
         
         
      • getDefaultTags

        public static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags()
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getDefaultTagsPlain

        public static java.util.concurrent.CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain()
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getDefaultTags

        public static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags​(GetDefaultTagsArgs args)
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getDefaultTagsPlain

        public static java.util.concurrent.CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain​(GetDefaultTagsPlainArgs args)
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getDefaultTags

        public static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags​(GetDefaultTagsArgs args,
                                                                                  com.pulumi.deployment.InvokeOptions options)
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getDefaultTags

        public static com.pulumi.core.Output<GetDefaultTagsResult> getDefaultTags​(GetDefaultTagsArgs args,
                                                                                  com.pulumi.deployment.InvokeOutputOptions options)
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getDefaultTagsPlain

        public static java.util.concurrent.CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain​(GetDefaultTagsPlainArgs args,
                                                                                                       com.pulumi.deployment.InvokeOptions options)
        Use this data source to get the default tags configured on the provider. With 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. ## Example Usage ### Basic Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetDefaultTagsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = AwsFunctions.getDefaultTags(GetDefaultTagsArgs.builder()
                     .build());
         
             }
         }
         
         
        ### Dynamically Apply Default Tags to Auto Scaling group
      • getIpRanges

        public static com.pulumi.core.Output<GetIpRangesResult> getIpRanges​(GetIpRangesArgs args)
        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). ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetIpRangesArgs;
         import com.pulumi.aws.ec2.SecurityGroup;
         import com.pulumi.aws.ec2.SecurityGroupArgs;
         import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
                     .regions(            
                         "eu-west-1",
                         "eu-central-1")
                     .services("ec2")
                     .build());
         
                 var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
                     .ingress(SecurityGroupIngressArgs.builder()
                         .fromPort(443)
                         .toPort(443)
                         .protocol("tcp")
                         .cidrBlocks(europeanEc2.cidrBlocks())
                         .ipv6CidrBlocks(europeanEc2.ipv6CidrBlocks())
                         .build())
                     .name("from_europe")
                     .tags(Map.ofEntries(
                         Map.entry("CreateDate", europeanEc2.createDate()),
                         Map.entry("SyncToken", europeanEc2.syncToken())
                     ))
                     .build());
         
             }
         }
         
         
      • getIpRangesPlain

        public static java.util.concurrent.CompletableFuture<GetIpRangesResult> getIpRangesPlain​(GetIpRangesPlainArgs args)
        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). ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetIpRangesArgs;
         import com.pulumi.aws.ec2.SecurityGroup;
         import com.pulumi.aws.ec2.SecurityGroupArgs;
         import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
                     .regions(            
                         "eu-west-1",
                         "eu-central-1")
                     .services("ec2")
                     .build());
         
                 var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
                     .ingress(SecurityGroupIngressArgs.builder()
                         .fromPort(443)
                         .toPort(443)
                         .protocol("tcp")
                         .cidrBlocks(europeanEc2.cidrBlocks())
                         .ipv6CidrBlocks(europeanEc2.ipv6CidrBlocks())
                         .build())
                     .name("from_europe")
                     .tags(Map.ofEntries(
                         Map.entry("CreateDate", europeanEc2.createDate()),
                         Map.entry("SyncToken", europeanEc2.syncToken())
                     ))
                     .build());
         
             }
         }
         
         
      • getIpRanges

        public static com.pulumi.core.Output<GetIpRangesResult> getIpRanges​(GetIpRangesArgs args,
                                                                            com.pulumi.deployment.InvokeOptions options)
        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). ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetIpRangesArgs;
         import com.pulumi.aws.ec2.SecurityGroup;
         import com.pulumi.aws.ec2.SecurityGroupArgs;
         import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
                     .regions(            
                         "eu-west-1",
                         "eu-central-1")
                     .services("ec2")
                     .build());
         
                 var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
                     .ingress(SecurityGroupIngressArgs.builder()
                         .fromPort(443)
                         .toPort(443)
                         .protocol("tcp")
                         .cidrBlocks(europeanEc2.cidrBlocks())
                         .ipv6CidrBlocks(europeanEc2.ipv6CidrBlocks())
                         .build())
                     .name("from_europe")
                     .tags(Map.ofEntries(
                         Map.entry("CreateDate", europeanEc2.createDate()),
                         Map.entry("SyncToken", europeanEc2.syncToken())
                     ))
                     .build());
         
             }
         }
         
         
      • getIpRanges

        public static com.pulumi.core.Output<GetIpRangesResult> getIpRanges​(GetIpRangesArgs args,
                                                                            com.pulumi.deployment.InvokeOutputOptions options)
        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). ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetIpRangesArgs;
         import com.pulumi.aws.ec2.SecurityGroup;
         import com.pulumi.aws.ec2.SecurityGroupArgs;
         import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
                     .regions(            
                         "eu-west-1",
                         "eu-central-1")
                     .services("ec2")
                     .build());
         
                 var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
                     .ingress(SecurityGroupIngressArgs.builder()
                         .fromPort(443)
                         .toPort(443)
                         .protocol("tcp")
                         .cidrBlocks(europeanEc2.cidrBlocks())
                         .ipv6CidrBlocks(europeanEc2.ipv6CidrBlocks())
                         .build())
                     .name("from_europe")
                     .tags(Map.ofEntries(
                         Map.entry("CreateDate", europeanEc2.createDate()),
                         Map.entry("SyncToken", europeanEc2.syncToken())
                     ))
                     .build());
         
             }
         }
         
         
      • getIpRangesPlain

        public static java.util.concurrent.CompletableFuture<GetIpRangesResult> getIpRangesPlain​(GetIpRangesPlainArgs args,
                                                                                                 com.pulumi.deployment.InvokeOptions options)
        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). ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetIpRangesArgs;
         import com.pulumi.aws.ec2.SecurityGroup;
         import com.pulumi.aws.ec2.SecurityGroupArgs;
         import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
                     .regions(            
                         "eu-west-1",
                         "eu-central-1")
                     .services("ec2")
                     .build());
         
                 var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
                     .ingress(SecurityGroupIngressArgs.builder()
                         .fromPort(443)
                         .toPort(443)
                         .protocol("tcp")
                         .cidrBlocks(europeanEc2.cidrBlocks())
                         .ipv6CidrBlocks(europeanEc2.ipv6CidrBlocks())
                         .build())
                     .name("from_europe")
                     .tags(Map.ofEntries(
                         Map.entry("CreateDate", europeanEc2.createDate()),
                         Map.entry("SyncToken", europeanEc2.syncToken())
                     ))
                     .build());
         
             }
         }
         
         
      • getPartition

        public static com.pulumi.core.Output<GetPartitionResult> getPartition()
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getPartitionPlain

        public static java.util.concurrent.CompletableFuture<GetPartitionResult> getPartitionPlain()
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getPartition

        public static com.pulumi.core.Output<GetPartitionResult> getPartition​(GetPartitionArgs args)
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getPartitionPlain

        public static java.util.concurrent.CompletableFuture<GetPartitionResult> getPartitionPlain​(GetPartitionPlainArgs args)
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getPartition

        public static com.pulumi.core.Output<GetPartitionResult> getPartition​(GetPartitionArgs args,
                                                                              com.pulumi.deployment.InvokeOptions options)
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getPartition

        public static com.pulumi.core.Output<GetPartitionResult> getPartition​(GetPartitionArgs args,
                                                                              com.pulumi.deployment.InvokeOutputOptions options)
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getPartitionPlain

        public static java.util.concurrent.CompletableFuture<GetPartitionResult> getPartitionPlain​(GetPartitionPlainArgs args,
                                                                                                   com.pulumi.deployment.InvokeOptions options)
        Use this data source to lookup information about the current AWS partition in which the provider is working. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetPartitionArgs;
         import com.pulumi.aws.iam.IamFunctions;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
         import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
                     .build());
         
                 final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                     .statements(GetPolicyDocumentStatementArgs.builder()
                         .sid("1")
                         .actions("s3:ListBucket")
                         .resources(String.format("arn:%s:s3:::my-bucket", current.partition()))
                         .build())
                     .build());
         
             }
         }
         
         
      • getRegion

        public static com.pulumi.core.Output<GetRegionResult> getRegion()
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegionPlain

        public static java.util.concurrent.CompletableFuture<GetRegionResult> getRegionPlain()
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegion

        public static com.pulumi.core.Output<GetRegionResult> getRegion​(GetRegionArgs args)
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegionPlain

        public static java.util.concurrent.CompletableFuture<GetRegionResult> getRegionPlain​(GetRegionPlainArgs args)
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegion

        public static com.pulumi.core.Output<GetRegionResult> getRegion​(GetRegionArgs args,
                                                                        com.pulumi.deployment.InvokeOptions options)
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegion

        public static com.pulumi.core.Output<GetRegionResult> getRegion​(GetRegionArgs args,
                                                                        com.pulumi.deployment.InvokeOutputOptions options)
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegionPlain

        public static java.util.concurrent.CompletableFuture<GetRegionResult> getRegionPlain​(GetRegionPlainArgs args,
                                                                                             com.pulumi.deployment.InvokeOptions options)
        `aws.getRegion` provides details about a specific AWS Region. As well as validating a given Region name this resource can be used to discover the name of the Region configured within the provider. The latter can be useful in a child module which is inheriting an AWS provider configuration from its parent module. ## Example Usage The following example shows how the resource might be used to obtain the name of the AWS Region configured on the provider.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
             }
         }
         
         
      • getRegions

        public static com.pulumi.core.Output<GetRegionsResult> getRegions()
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getRegionsPlain

        public static java.util.concurrent.CompletableFuture<GetRegionsResult> getRegionsPlain()
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getRegions

        public static com.pulumi.core.Output<GetRegionsResult> getRegions​(GetRegionsArgs args)
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getRegionsPlain

        public static java.util.concurrent.CompletableFuture<GetRegionsResult> getRegionsPlain​(GetRegionsPlainArgs args)
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getRegions

        public static com.pulumi.core.Output<GetRegionsResult> getRegions​(GetRegionsArgs args,
                                                                          com.pulumi.deployment.InvokeOptions options)
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getRegions

        public static com.pulumi.core.Output<GetRegionsResult> getRegions​(GetRegionsArgs args,
                                                                          com.pulumi.deployment.InvokeOutputOptions options)
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getRegionsPlain

        public static java.util.concurrent.CompletableFuture<GetRegionsResult> getRegionsPlain​(GetRegionsPlainArgs args,
                                                                                               com.pulumi.deployment.InvokeOptions options)
        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. ## Example Usage Enabled AWS Regions:
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .build());
         
             }
         }
         
         
        All the regions regardless of the availability
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
        To see regions that are filtered by `"not-opted-in"`, the `allRegions` argument needs to be set to `true` or no results will be returned.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionsArgs;
         import com.pulumi.aws.inputs.GetRegionsFilterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
                     .filters(GetRegionsFilterArgs.builder()
                         .name("opt-in-status")
                         .values("not-opted-in")
                         .build())
                     .allRegions(true)
                     .build());
         
             }
         }
         
         
      • getService

        public static com.pulumi.core.Output<GetServiceResult> getService()
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getServicePlain

        public static java.util.concurrent.CompletableFuture<GetServiceResult> getServicePlain()
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getService

        public static com.pulumi.core.Output<GetServiceResult> getService​(GetServiceArgs args)
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getServicePlain

        public static java.util.concurrent.CompletableFuture<GetServiceResult> getServicePlain​(GetServicePlainArgs args)
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getService

        public static com.pulumi.core.Output<GetServiceResult> getService​(GetServiceArgs args,
                                                                          com.pulumi.deployment.InvokeOptions options)
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getService

        public static com.pulumi.core.Output<GetServiceResult> getService​(GetServiceArgs args,
                                                                          com.pulumi.deployment.InvokeOutputOptions options)
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getServicePlain

        public static java.util.concurrent.CompletableFuture<GetServiceResult> getServicePlain​(GetServicePlainArgs args,
                                                                                               com.pulumi.deployment.InvokeOptions options)
        Use this data source to compose and decompose AWS service DNS names. ## Example Usage ### Get Service DNS Name
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetRegionArgs;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getRegion(GetRegionArgs.builder()
                     .build());
         
                 final var test = AwsFunctions.getService(GetServiceArgs.builder()
                     .region(current.region())
                     .serviceId("ec2")
                     .build());
         
             }
         }
         
         
        ### Use Service Reverse DNS Name to Get Components
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
                     .build());
         
             }
         }
         
         
        ### Determine Regional Support for a Service
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServiceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var s3 = AwsFunctions.getService(GetServiceArgs.builder()
                     .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
                     .build());
         
             }
         }
         
         
      • getServicePrincipal

        public static com.pulumi.core.Output<GetServicePrincipalResult> getServicePrincipal​(GetServicePrincipalArgs args)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServicePrincipalArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .build());
         
                 final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .region("us-iso-east-1")
                     .build());
         
             }
         }
         
         
      • getServicePrincipalPlain

        public static java.util.concurrent.CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain​(GetServicePrincipalPlainArgs args)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServicePrincipalArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .build());
         
                 final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .region("us-iso-east-1")
                     .build());
         
             }
         }
         
         
      • getServicePrincipal

        public static com.pulumi.core.Output<GetServicePrincipalResult> getServicePrincipal​(GetServicePrincipalArgs args,
                                                                                            com.pulumi.deployment.InvokeOptions options)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServicePrincipalArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .build());
         
                 final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .region("us-iso-east-1")
                     .build());
         
             }
         }
         
         
      • getServicePrincipal

        public static com.pulumi.core.Output<GetServicePrincipalResult> getServicePrincipal​(GetServicePrincipalArgs args,
                                                                                            com.pulumi.deployment.InvokeOutputOptions options)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServicePrincipalArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .build());
         
                 final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .region("us-iso-east-1")
                     .build());
         
             }
         }
         
         
      • getServicePrincipalPlain

        public static java.util.concurrent.CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain​(GetServicePrincipalPlainArgs args,
                                                                                                                 com.pulumi.deployment.InvokeOptions options)
        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. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.AwsFunctions;
         import com.pulumi.aws.inputs.GetServicePrincipalArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .build());
         
                 final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                     .serviceName("s3")
                     .region("us-iso-east-1")
                     .build());
         
             }
         }
         
         
      • trimIamRolePath

        public static com.pulumi.core.Output<java.lang.Void> trimIamRolePath​(java.lang.String arn)
        Trims the path prefix from an IAM role ARN. This function can be used when services require role ARNs to be passed without a path. See the [AWS IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-resources-for-iam-policies) for additional information on IAM role ARNs. ## Signature
      • trimIamRolePathPlain

        public static java.util.concurrent.CompletableFuture<java.lang.Void> trimIamRolePathPlain​(java.lang.String arn)
        Trims the path prefix from an IAM role ARN. This function can be used when services require role ARNs to be passed without a path. See the [AWS IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-resources-for-iam-policies) for additional information on IAM role ARNs. ## Signature
      • trimIamRolePath

        public static com.pulumi.core.Output<java.lang.Void> trimIamRolePath​(java.lang.String arn,
                                                                             com.pulumi.deployment.InvokeOptions options)
        Trims the path prefix from an IAM role ARN. This function can be used when services require role ARNs to be passed without a path. See the [AWS IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-resources-for-iam-policies) for additional information on IAM role ARNs. ## Signature
      • trimIamRolePath

        public static com.pulumi.core.Output<java.lang.Void> trimIamRolePath​(java.lang.String arn,
                                                                             com.pulumi.deployment.InvokeOutputOptions options)
        Trims the path prefix from an IAM role ARN. This function can be used when services require role ARNs to be passed without a path. See the [AWS IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-resources-for-iam-policies) for additional information on IAM role ARNs. ## Signature
      • trimIamRolePathPlain

        public static java.util.concurrent.CompletableFuture<java.lang.Void> trimIamRolePathPlain​(java.lang.String arn,
                                                                                                  com.pulumi.deployment.InvokeOptions options)
        Trims the path prefix from an IAM role ARN. This function can be used when services require role ARNs to be passed without a path. See the [AWS IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-resources-for-iam-policies) for additional information on IAM role ARNs. ## Signature
      • userAgent

        public static com.pulumi.core.Output<java.lang.Void> userAgent​(java.lang.String productName,
                                                                       java.lang.String productVersion,
                                                                       java.lang.String comment)
        Formats a User-Agent product for use with the `userAgent` argument in the `provider` block. > Functions cannot be used in the `terraform` block, meaning this utility cannot be used with the `providerMeta` `userAgent` argument. ## Signature
      • userAgentPlain

        public static java.util.concurrent.CompletableFuture<java.lang.Void> userAgentPlain​(java.lang.String productName,
                                                                                            java.lang.String productVersion,
                                                                                            java.lang.String comment)
        Formats a User-Agent product for use with the `userAgent` argument in the `provider` block. > Functions cannot be used in the `terraform` block, meaning this utility cannot be used with the `providerMeta` `userAgent` argument. ## Signature
      • userAgent

        public static com.pulumi.core.Output<java.lang.Void> userAgent​(java.lang.String productName,
                                                                       java.lang.String productVersion,
                                                                       java.lang.String comment,
                                                                       com.pulumi.deployment.InvokeOptions options)
        Formats a User-Agent product for use with the `userAgent` argument in the `provider` block. > Functions cannot be used in the `terraform` block, meaning this utility cannot be used with the `providerMeta` `userAgent` argument. ## Signature
      • userAgent

        public static com.pulumi.core.Output<java.lang.Void> userAgent​(java.lang.String productName,
                                                                       java.lang.String productVersion,
                                                                       java.lang.String comment,
                                                                       com.pulumi.deployment.InvokeOutputOptions options)
        Formats a User-Agent product for use with the `userAgent` argument in the `provider` block. > Functions cannot be used in the `terraform` block, meaning this utility cannot be used with the `providerMeta` `userAgent` argument. ## Signature
      • userAgentPlain

        public static java.util.concurrent.CompletableFuture<java.lang.Void> userAgentPlain​(java.lang.String productName,
                                                                                            java.lang.String productVersion,
                                                                                            java.lang.String comment,
                                                                                            com.pulumi.deployment.InvokeOptions options)
        Formats a User-Agent product for use with the `userAgent` argument in the `provider` block. > Functions cannot be used in the `terraform` block, meaning this utility cannot be used with the `providerMeta` `userAgent` argument. ## Signature