Ctrl + k

or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/com.pulumi/aws@7.16.x

docs

common-patterns.mdgetting-started.mdindex.mdprovider.md
tile.json

tessl/maven-com-pulumi--aws

tessl install tessl/maven-com-pulumi--aws@7.16.0

Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.

provider.mddocs/

Provider Configuration

AWS provider configuration for authentication, region settings, and global provider options.

Capabilities

Provider Resource

The Provider resource configures AWS authentication and provider-level settings for all resources.

public class Provider extends com.pulumi.resources.ProviderResource {
    /**
     * Create a Provider resource with the given name and arguments.
     *
     * @param name The resource name
     * @param args The provider configuration arguments
     */
    public Provider(String name, ProviderArgs args);

    /**
     * Create a Provider resource with the given name, arguments, and options.
     *
     * @param name The resource name
     * @param args The provider configuration arguments
     * @param options Resource options
     */
    public Provider(String name, ProviderArgs args, CustomResourceOptions options);

    // Output properties
    public Output<Optional<String>> accessKey();
    public Output<Optional<String>> secretKey();
    public Output<Optional<String>> region();
    public Output<Optional<String>> profile();
    public Output<Optional<String>> token();
}

Provider Arguments

Configuration arguments for the AWS Provider.

public final class ProviderArgs extends com.pulumi.resources.ResourceArgs {
    public static final ProviderArgs Empty = new ProviderArgs();

    public static Builder builder();

    public static final class Builder {
        /**
         * The AWS region where operations will take place
         */
        public Builder region(String region);
        public Builder region(Output<String> region);

        /**
         * AWS access key for API operations
         */
        public Builder accessKey(String accessKey);
        public Builder accessKey(Output<String> accessKey);

        /**
         * AWS secret key for API operations
         */
        public Builder secretKey(String secretKey);
        public Builder secretKey(Output<String> secretKey);

        /**
         * AWS profile name from ~/.aws/config
         */
        public Builder profile(String profile);
        public Builder profile(Output<String> profile);

        /**
         * Session token for temporary credentials
         */
        public Builder token(String token);
        public Builder token(Output<String> token);

        /**
         * List of allowed AWS account IDs to prevent operations on wrong account
         */
        public Builder allowedAccountIds(List<String> allowedAccountIds);
        public Builder allowedAccountIds(Output<List<String>> allowedAccountIds);

        /**
         * List of forbidden AWS account IDs to prevent operations
         */
        public Builder forbiddenAccountIds(List<String> forbiddenAccountIds);
        public Builder forbiddenAccountIds(Output<List<String>> forbiddenAccountIds);

        /**
         * Configuration for assuming an IAM role
         */
        public Builder assumeRoles(List<ProviderAssumeRoleArgs> assumeRoles);
        public Builder assumeRoles(Output<List<ProviderAssumeRoleArgs>> assumeRoles);

        /**
         * Configuration for assuming a role with web identity
         */
        public Builder assumeRoleWithWebIdentity(ProviderAssumeRoleWithWebIdentityArgs assumeRoleWithWebIdentity);
        public Builder assumeRoleWithWebIdentity(Output<ProviderAssumeRoleWithWebIdentityArgs> assumeRoleWithWebIdentity);

        /**
         * Default tags to apply to all resources
         */
        public Builder defaultTags(ProviderDefaultTagsArgs defaultTags);
        public Builder defaultTags(Output<ProviderDefaultTagsArgs> defaultTags);

        /**
         * Configuration for ignoring specific tags
         */
        public Builder ignoreTags(ProviderIgnoreTagsArgs ignoreTags);
        public Builder ignoreTags(Output<ProviderIgnoreTagsArgs> ignoreTags);

        /**
         * Maximum number of times an AWS API request is retried
         */
        public Builder maxRetries(Integer maxRetries);
        public Builder maxRetries(Output<Integer> maxRetries);

        /**
         * Specifies how retries are attempted: 'standard' or 'adaptive'
         */
        public Builder retryMode(String retryMode);
        public Builder retryMode(Output<String> retryMode);

        /**
         * Skip credentials validation via STS API
         */
        public Builder skipCredentialsValidation(Boolean skipCredentialsValidation);
        public Builder skipCredentialsValidation(Output<Boolean> skipCredentialsValidation);

        /**
         * Skip region name validation
         */
        public Builder skipRegionValidation(Boolean skipRegionValidation);
        public Builder skipRegionValidation(Output<Boolean> skipRegionValidation);

        /**
         * Skip AWS metadata API check
         */
        public Builder skipMetadataApiCheck(Boolean skipMetadataApiCheck);
        public Builder skipMetadataApiCheck(Output<Boolean> skipMetadataApiCheck);

        /**
         * Custom CA bundle file path
         */
        public Builder customCaBundle(String customCaBundle);
        public Builder customCaBundle(Output<String> customCaBundle);

        /**
         * HTTP proxy URL
         */
        public Builder httpProxy(String httpProxy);
        public Builder httpProxy(Output<String> httpProxy);

        /**
         * HTTPS proxy URL
         */
        public Builder httpsProxy(String httpsProxy);
        public Builder httpsProxy(Output<String> httpsProxy);

        /**
         * Comma-separated list of hosts that should not use proxies
         */
        public Builder noProxy(String noProxy);
        public Builder noProxy(Output<String> noProxy);

        /**
         * Allow insecure SSL requests
         */
        public Builder insecure(Boolean insecure);
        public Builder insecure(Output<Boolean> insecure);

        /**
         * EC2 metadata service endpoint address
         */
        public Builder ec2MetadataServiceEndpoint(String ec2MetadataServiceEndpoint);
        public Builder ec2MetadataServiceEndpoint(Output<String> ec2MetadataServiceEndpoint);

        /**
         * EC2 metadata service endpoint mode: 'IPv4' or 'IPv6'
         */
        public Builder ec2MetadataServiceEndpointMode(String ec2MetadataServiceEndpointMode);
        public Builder ec2MetadataServiceEndpointMode(Output<String> ec2MetadataServiceEndpointMode);

        /**
         * Use path-style addressing for S3 (https://s3.amazonaws.com/BUCKET/KEY)
         */
        public Builder s3UsePathStyle(Boolean s3UsePathStyle);
        public Builder s3UsePathStyle(Output<Boolean> s3UsePathStyle);

        /**
         * S3 us-east-1 endpoint mode: 'legacy' or 'regional'
         */
        public Builder s3UsEast1RegionalEndpoint(String s3UsEast1RegionalEndpoint);
        public Builder s3UsEast1RegionalEndpoint(Output<String> s3UsEast1RegionalEndpoint);

        /**
         * List of paths to shared config files (default: [~/.aws/config])
         */
        public Builder sharedConfigFiles(List<String> sharedConfigFiles);
        public Builder sharedConfigFiles(Output<List<String>> sharedConfigFiles);

        /**
         * List of paths to shared credentials files (default: [~/.aws/credentials])
         */
        public Builder sharedCredentialsFiles(List<String> sharedCredentialsFiles);
        public Builder sharedCredentialsFiles(Output<List<String>> sharedCredentialsFiles);

        /**
         * STS region override
         */
        public Builder stsRegion(String stsRegion);
        public Builder stsRegion(Output<String> stsRegion);

        /**
         * Skip requesting the account ID (for API implementations without IAM/STS)
         */
        public Builder skipRequestingAccountId(Boolean skipRequestingAccountId);
        public Builder skipRequestingAccountId(Output<Boolean> skipRequestingAccountId);

        /**
         * Tag policy compliance enforcement level: 'error', 'warning', or 'disabled'
         */
        public Builder tagPolicyCompliance(String tagPolicyCompliance);
        public Builder tagPolicyCompliance(Output<String> tagPolicyCompliance);

        /**
         * Capacity of AWS SDK token bucket rate limiter
         */
        public Builder tokenBucketRateLimiterCapacity(Integer tokenBucketRateLimiterCapacity);
        public Builder tokenBucketRateLimiterCapacity(Output<Integer> tokenBucketRateLimiterCapacity);

        /**
         * Resolve endpoints with DualStack capability
         */
        public Builder useDualstackEndpoint(Boolean useDualstackEndpoint);
        public Builder useDualstackEndpoint(Output<Boolean> useDualstackEndpoint);

        /**
         * Resolve endpoints with FIPS capability
         */
        public Builder useFipsEndpoint(Boolean useFipsEndpoint);
        public Builder useFipsEndpoint(Output<Boolean> useFipsEndpoint);

        /**
         * Product details to append to User-Agent string in AWS API calls
         */
        public Builder userAgents(List<String> userAgents);
        public Builder userAgents(Output<List<String>> userAgents);

        /**
         * Custom endpoint configurations for AWS services
         */
        public Builder endpoints(List<ProviderEndpointArgs> endpoints);
        public Builder endpoints(Output<List<ProviderEndpointArgs>> endpoints);

        public ProviderArgs build();
    }
}

Config Class

Access Pulumi configuration values for AWS provider settings.

public final class Config {
    public Optional<String> region();
    public Optional<String> accessKey();
    public Optional<String> secretKey();
    public Optional<String> profile();
    public Optional<String> token();
    public Optional<List<String>> allowedAccountIds();
    public Optional<List<String>> forbiddenAccountIds();
    public Optional<AssumeRoleWithWebIdentity> assumeRoleWithWebIdentity();
    public Optional<List<AssumeRoles>> assumeRoles();
    public Optional<DefaultTags> defaultTags();
    public Optional<IgnoreTags> ignoreTags();
    public Optional<Integer> maxRetries();
    public Optional<String> retryMode();
    public Optional<Boolean> skipCredentialsValidation();
    public Optional<Boolean> skipRegionValidation();
    public Optional<Boolean> skipMetadataApiCheck();
    public Optional<Boolean> skipRequestingAccountId();
    public Optional<String> customCaBundle();
    public Optional<String> httpProxy();
    public Optional<String> httpsProxy();
    public Optional<String> noProxy();
    public Optional<Boolean> insecure();
    public Optional<String> ec2MetadataServiceEndpoint();
    public Optional<String> ec2MetadataServiceEndpointMode();
    public Optional<Boolean> s3UsePathStyle();
    public Optional<String> s3UsEast1RegionalEndpoint();
    public Optional<List<String>> sharedConfigFiles();
    public Optional<List<String>> sharedCredentialsFiles();
    public Optional<String> stsRegion();
    public Optional<String> tagPolicyCompliance();
    public Optional<Integer> tokenBucketRateLimiterCapacity();
    public Optional<Boolean> useDualstackEndpoint();
    public Optional<Boolean> useFipsEndpoint();
    public Optional<List<String>> userAgents();
    public Optional<List<Endpoints>> endpoints();
}

Global Data Source Functions

AWS-level data source functions.

public final class AwsFunctions {
    /**
     * Parse and validate AWS ARN
     */
    public static Output<GetArnResult> getArn(GetArnArgs args);
    public static Output<GetArnResult> getArn(GetArnArgs args, InvokeOptions options);
    public static CompletableFuture<GetArnResult> getArnPlain(GetArnArgs args);
    public static CompletableFuture<GetArnResult> getArnPlain(GetArnArgs args, InvokeOptions options);

    /**
     * Get AWS caller identity (account ID, user ARN, user ID)
     */
    public static Output<GetCallerIdentityResult> getCallerIdentity();
    public static Output<GetCallerIdentityResult> getCallerIdentity(InvokeOptions options);
    public static CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain();
    public static CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain(InvokeOptions options);

    /**
     * Get current AWS region
     */
    public static Output<GetRegionResult> getRegion();
    public static Output<GetRegionResult> getRegion(GetRegionArgs args);
    public static Output<GetRegionResult> getRegion(GetRegionArgs args, InvokeOptions options);
    public static CompletableFuture<GetRegionResult> getRegionPlain();
    public static CompletableFuture<GetRegionResult> getRegionPlain(GetRegionArgs args);
    public static CompletableFuture<GetRegionResult> getRegionPlain(GetRegionArgs args, InvokeOptions options);

    /**
     * List all AWS regions
     */
    public static Output<GetRegionsResult> getRegions();
    public static Output<GetRegionsResult> getRegions(GetRegionsArgs args);
    public static Output<GetRegionsResult> getRegions(GetRegionsArgs args, InvokeOptions options);
    public static CompletableFuture<GetRegionsResult> getRegionsPlain();
    public static CompletableFuture<GetRegionsResult> getRegionsPlain(GetRegionsArgs args);
    public static CompletableFuture<GetRegionsResult> getRegionsPlain(GetRegionsArgs args, InvokeOptions options);

    /**
     * Get AWS partition (aws, aws-cn, aws-us-gov)
     */
    public static Output<GetPartitionResult> getPartition();
    public static Output<GetPartitionResult> getPartition(InvokeOptions options);
    public static CompletableFuture<GetPartitionResult> getPartitionPlain();
    public static CompletableFuture<GetPartitionResult> getPartitionPlain(InvokeOptions options);

    /**
     * Get AWS billing service account for the current region
     */
    public static Output<GetBillingServiceAccountResult> getBillingServiceAccount();
    public static Output<GetBillingServiceAccountResult> getBillingServiceAccount(InvokeOptions options);
    public static CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain();
    public static CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain(InvokeOptions options);

    /**
     * Get AWS default tags configuration
     */
    public static Output<GetDefaultTagsResult> getDefaultTags();
    public static Output<GetDefaultTagsResult> getDefaultTags(InvokeOptions options);
    public static CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain();
    public static CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain(InvokeOptions options);

    /**
     * Get AWS IP address ranges
     */
    public static Output<GetIpRangesResult> getIpRanges(GetIpRangesArgs args);
    public static Output<GetIpRangesResult> getIpRanges(GetIpRangesArgs args, InvokeOptions options);
    public static CompletableFuture<GetIpRangesResult> getIpRangesPlain(GetIpRangesArgs args);
    public static CompletableFuture<GetIpRangesResult> getIpRangesPlain(GetIpRangesArgs args, InvokeOptions options);

    /**
     * Get AWS service information
     */
    public static Output<GetServiceResult> getService(GetServiceArgs args);
    public static Output<GetServiceResult> getService(GetServiceArgs args, InvokeOptions options);
    public static CompletableFuture<GetServiceResult> getServicePlain(GetServiceArgs args);
    public static CompletableFuture<GetServiceResult> getServicePlain(GetServiceArgs args, InvokeOptions options);

    /**
     * Get availability zone information
     */
    public static Output<GetAvailabilityZoneResult> getAvailabilityZone();
    public static Output<GetAvailabilityZoneResult> getAvailabilityZone(GetAvailabilityZoneArgs args);
    public static Output<GetAvailabilityZoneResult> getAvailabilityZone(GetAvailabilityZoneArgs args, InvokeOptions options);
    public static CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain();
    public static CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain(GetAvailabilityZoneArgs args);
    public static CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain(GetAvailabilityZoneArgs args, InvokeOptions options);

    /**
     * List availability zones in current region
     */
    public static Output<GetAvailabilityZonesResult> getAvailabilityZones();
    public static Output<GetAvailabilityZonesResult> getAvailabilityZones(GetAvailabilityZonesArgs args);
    public static Output<GetAvailabilityZonesResult> getAvailabilityZones(GetAvailabilityZonesArgs args, InvokeOptions options);
    public static CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain();
    public static CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain(GetAvailabilityZonesArgs args);
    public static CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain(GetAvailabilityZonesArgs args, InvokeOptions options);

    /**
     * Get service principal name for an AWS service
     */
    public static Output<GetServicePrincipalResult> getServicePrincipal(GetServicePrincipalArgs args);
    public static Output<GetServicePrincipalResult> getServicePrincipal(GetServicePrincipalArgs args, InvokeOptions options);
    public static CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain(GetServicePrincipalArgs args);
    public static CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain(GetServicePrincipalArgs args, InvokeOptions options);
}

Types

ProviderAssumeRoleArgs

Configuration for assuming an IAM role.

public final class ProviderAssumeRoleArgs {
    public static Builder builder();

    public static final class Builder {
        public Builder roleArn(String roleArn);
        public Builder roleArn(Output<String> roleArn);
        public Builder sessionName(String sessionName);
        public Builder sessionName(Output<String> sessionName);
        public Builder externalId(String externalId);
        public Builder externalId(Output<String> externalId);
        public Builder duration(String duration);
        public Builder duration(Output<String> duration);
        public Builder policy(String policy);
        public Builder policy(Output<String> policy);
        public Builder policyArns(List<String> policyArns);
        public Builder policyArns(Output<List<String>> policyArns);
        public Builder tags(Map<String, String> tags);
        public Builder tags(Output<Map<String, String>> tags);
        public ProviderAssumeRoleArgs build();
    }
}

ProviderAssumeRoleWithWebIdentityArgs

Configuration for assuming a role with web identity.

public final class ProviderAssumeRoleWithWebIdentityArgs {
    public static Builder builder();

    public static final class Builder {
        public Builder roleArn(String roleArn);
        public Builder roleArn(Output<String> roleArn);
        public Builder sessionName(String sessionName);
        public Builder sessionName(Output<String> sessionName);
        public Builder webIdentityToken(String webIdentityToken);
        public Builder webIdentityToken(Output<String> webIdentityToken);
        public Builder webIdentityTokenFile(String webIdentityTokenFile);
        public Builder webIdentityTokenFile(Output<String> webIdentityTokenFile);
        public Builder duration(String duration);
        public Builder duration(Output<String> duration);
        public Builder policy(String policy);
        public Builder policy(Output<String> policy);
        public Builder policyArns(List<String> policyArns);
        public Builder policyArns(Output<List<String>> policyArns);
        public ProviderAssumeRoleWithWebIdentityArgs build();
    }
}

ProviderDefaultTagsArgs

Default tags to apply to all resources.

public final class ProviderDefaultTagsArgs {
    public static Builder builder();

    public static final class Builder {
        public Builder tags(Map<String, String> tags);
        public Builder tags(Output<Map<String, String>> tags);
        public ProviderDefaultTagsArgs build();
    }
}

ProviderIgnoreTagsArgs

Configuration for ignoring specific tags.

public final class ProviderIgnoreTagsArgs {
    public static Builder builder();

    public static final class Builder {
        public Builder keys(List<String> keys);
        public Builder keys(Output<List<String>> keys);
        public Builder keyPrefixes(List<String> keyPrefixes);
        public Builder keyPrefixes(Output<List<String>> keyPrefixes);
        public ProviderIgnoreTagsArgs build();
    }
}

ProviderEndpointArgs

Custom endpoint configuration for AWS services.

public final class ProviderEndpointArgs {
    public static Builder builder();

    public static final class Builder {
        public Builder service(String service);
        public Builder service(Output<String> service);
        public Builder url(String url);
        public Builder url(Output<String> url);
        public ProviderEndpointArgs build();
    }
}

Usage Examples

Basic Provider Configuration

import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;

var awsProvider = new Provider("aws", ProviderArgs.builder()
    .region("us-west-2")
    .profile("my-profile")
    .build());

Provider with Assume Role

import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
import com.pulumi.aws.inputs.ProviderAssumeRoleArgs;

var awsProvider = new Provider("aws", ProviderArgs.builder()
    .region("us-west-2")
    .assumeRoles(List.of(ProviderAssumeRoleArgs.builder()
        .roleArn("arn:aws:iam::123456789012:role/MyRole")
        .sessionName("pulumi-session")
        .build()))
    .build());

Provider with Default Tags

import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
import com.pulumi.aws.inputs.ProviderDefaultTagsArgs;

var awsProvider = new Provider("aws", ProviderArgs.builder()
    .region("us-east-1")
    .defaultTags(ProviderDefaultTagsArgs.builder()
        .tags(Map.of(
            "Environment", "Production",
            "ManagedBy", "Pulumi"
        ))
        .build())
    .build());

Using Config Class

import com.pulumi.aws.Config;

var config = new Config();
String region = config.region().orElse("us-east-1");
Integer maxRetries = config.maxRetries().orElse(3);

Getting Caller Identity

import com.pulumi.aws.AwsFunctions;

var identity = AwsFunctions.getCallerIdentity();
identity.applyValue(result -> {
    System.out.println("Account ID: " + result.accountId());
    System.out.println("User ARN: " + result.arn());
    return result;
});

Getting Current Region

import com.pulumi.aws.AwsFunctions;

var region = AwsFunctions.getRegion();
region.applyValue(result -> {
    System.out.println("Region: " + result.name());
    System.out.println("Endpoint: " + result.endpoint());
    return result;
});

Getting Availability Zone Information

import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;

var az = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
    .name("us-east-1a")
    .build());
az.applyValue(result -> {
    System.out.println("Zone ID: " + result.zoneId());
    System.out.println("Zone Name: " + result.name());
    System.out.println("Region: " + result.region());
    return result;
});

Listing Availability Zones

import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;

var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
    .state("available")
    .build());
azs.applyValue(result -> {
    System.out.println("Available zones: " + result.names());
    return result;
});

Getting Service Principal

import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetServicePrincipalArgs;

var principal = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
    .serviceName("lambda")
    .build());
principal.applyValue(result -> {
    System.out.println("Service Principal: " + result.name());
    return result;
});