All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.security.inputs.AwAssumeRoleAuthenticationDetailsPropertiesArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.security.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;


/**
 * AWS cloud account connector based assume role, the role enables delegating access to your AWS resources. The role is composed of role Amazon Resource Name (ARN) and external ID. For more details, refer to <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html">Creating a Role to Delegate Permissions to an IAM User (write only)</a>
 * 
 */
public final class AwAssumeRoleAuthenticationDetailsPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwAssumeRoleAuthenticationDetailsPropertiesArgs Empty = new AwAssumeRoleAuthenticationDetailsPropertiesArgs();

    /**
     * Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials.
     * Expected value is 'awsAssumeRole'.
     * 
     */
    @Import(name="authenticationType", required=true)
    private Output authenticationType;

    /**
     * @return Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials.
     * Expected value is 'awsAssumeRole'.
     * 
     */
    public Output authenticationType() {
        return this.authenticationType;
    }

    /**
     * Assumed role ID is an identifier that you can use to create temporary security credentials.
     * 
     */
    @Import(name="awsAssumeRoleArn", required=true)
    private Output awsAssumeRoleArn;

    /**
     * @return Assumed role ID is an identifier that you can use to create temporary security credentials.
     * 
     */
    public Output awsAssumeRoleArn() {
        return this.awsAssumeRoleArn;
    }

    /**
     * A unique identifier that is required when you assume a role in another account.
     * 
     */
    @Import(name="awsExternalId", required=true)
    private Output awsExternalId;

    /**
     * @return A unique identifier that is required when you assume a role in another account.
     * 
     */
    public Output awsExternalId() {
        return this.awsExternalId;
    }

    private AwAssumeRoleAuthenticationDetailsPropertiesArgs() {}

    private AwAssumeRoleAuthenticationDetailsPropertiesArgs(AwAssumeRoleAuthenticationDetailsPropertiesArgs $) {
        this.authenticationType = $.authenticationType;
        this.awsAssumeRoleArn = $.awsAssumeRoleArn;
        this.awsExternalId = $.awsExternalId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(AwAssumeRoleAuthenticationDetailsPropertiesArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AwAssumeRoleAuthenticationDetailsPropertiesArgs $;

        public Builder() {
            $ = new AwAssumeRoleAuthenticationDetailsPropertiesArgs();
        }

        public Builder(AwAssumeRoleAuthenticationDetailsPropertiesArgs defaults) {
            $ = new AwAssumeRoleAuthenticationDetailsPropertiesArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param authenticationType Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials.
         * Expected value is 'awsAssumeRole'.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(Output authenticationType) {
            $.authenticationType = authenticationType;
            return this;
        }

        /**
         * @param authenticationType Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials.
         * Expected value is 'awsAssumeRole'.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(String authenticationType) {
            return authenticationType(Output.of(authenticationType));
        }

        /**
         * @param awsAssumeRoleArn Assumed role ID is an identifier that you can use to create temporary security credentials.
         * 
         * @return builder
         * 
         */
        public Builder awsAssumeRoleArn(Output awsAssumeRoleArn) {
            $.awsAssumeRoleArn = awsAssumeRoleArn;
            return this;
        }

        /**
         * @param awsAssumeRoleArn Assumed role ID is an identifier that you can use to create temporary security credentials.
         * 
         * @return builder
         * 
         */
        public Builder awsAssumeRoleArn(String awsAssumeRoleArn) {
            return awsAssumeRoleArn(Output.of(awsAssumeRoleArn));
        }

        /**
         * @param awsExternalId A unique identifier that is required when you assume a role in another account.
         * 
         * @return builder
         * 
         */
        public Builder awsExternalId(Output awsExternalId) {
            $.awsExternalId = awsExternalId;
            return this;
        }

        /**
         * @param awsExternalId A unique identifier that is required when you assume a role in another account.
         * 
         * @return builder
         * 
         */
        public Builder awsExternalId(String awsExternalId) {
            return awsExternalId(Output.of(awsExternalId));
        }

        public AwAssumeRoleAuthenticationDetailsPropertiesArgs build() {
            $.authenticationType = Codegen.stringProp("authenticationType").output().arg($.authenticationType).require();
            if ($.awsAssumeRoleArn == null) {
                throw new MissingRequiredPropertyException("AwAssumeRoleAuthenticationDetailsPropertiesArgs", "awsAssumeRoleArn");
            }
            if ($.awsExternalId == null) {
                throw new MissingRequiredPropertyException("AwAssumeRoleAuthenticationDetailsPropertiesArgs", "awsExternalId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy