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

com.pulumi.aws.iam.ServiceSpecificCredentialArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.iam;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ServiceSpecificCredentialArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServiceSpecificCredentialArgs Empty = new ServiceSpecificCredentialArgs();

    /**
     * The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials.
     * 
     */
    @Import(name="serviceName", required=true)
    private Output serviceName;

    /**
     * @return The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials.
     * 
     */
    public Output serviceName() {
        return this.serviceName;
    }

    /**
     * The status to be assigned to the service-specific credential. Valid values are `Active` and `Inactive`. Default value is `Active`.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status to be assigned to the service-specific credential. Valid values are `Active` and `Inactive`. Default value is `Active`.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.
     * 
     */
    @Import(name="userName", required=true)
    private Output userName;

    /**
     * @return The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.
     * 
     */
    public Output userName() {
        return this.userName;
    }

    private ServiceSpecificCredentialArgs() {}

    private ServiceSpecificCredentialArgs(ServiceSpecificCredentialArgs $) {
        this.serviceName = $.serviceName;
        this.status = $.status;
        this.userName = $.userName;
    }

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

    public static final class Builder {
        private ServiceSpecificCredentialArgs $;

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

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

        /**
         * @param serviceName The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param status The status to be assigned to the service-specific credential. Valid values are `Active` and `Inactive`. Default value is `Active`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status to be assigned to the service-specific credential. Valid values are `Active` and `Inactive`. Default value is `Active`.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param userName The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.
         * 
         * @return builder
         * 
         */
        public Builder userName(Output userName) {
            $.userName = userName;
            return this;
        }

        /**
         * @param userName The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.
         * 
         * @return builder
         * 
         */
        public Builder userName(String userName) {
            return userName(Output.of(userName));
        }

        public ServiceSpecificCredentialArgs build() {
            if ($.serviceName == null) {
                throw new MissingRequiredPropertyException("ServiceSpecificCredentialArgs", "serviceName");
            }
            if ($.userName == null) {
                throw new MissingRequiredPropertyException("ServiceSpecificCredentialArgs", "userName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy