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

com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationProviderIdentityArgs 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.securitylake.inputs;

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


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

    public static final CustomLogSourceConfigurationProviderIdentityArgs Empty = new CustomLogSourceConfigurationProviderIdentityArgs();

    /**
     * The external ID used to estalish trust relationship with the AWS identity.
     * 
     */
    @Import(name="externalId", required=true)
    private Output externalId;

    /**
     * @return The external ID used to estalish trust relationship with the AWS identity.
     * 
     */
    public Output externalId() {
        return this.externalId;
    }

    /**
     * The AWS identity principal.
     * 
     */
    @Import(name="principal", required=true)
    private Output principal;

    /**
     * @return The AWS identity principal.
     * 
     */
    public Output principal() {
        return this.principal;
    }

    private CustomLogSourceConfigurationProviderIdentityArgs() {}

    private CustomLogSourceConfigurationProviderIdentityArgs(CustomLogSourceConfigurationProviderIdentityArgs $) {
        this.externalId = $.externalId;
        this.principal = $.principal;
    }

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

    public static final class Builder {
        private CustomLogSourceConfigurationProviderIdentityArgs $;

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

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

        /**
         * @param externalId The external ID used to estalish trust relationship with the AWS identity.
         * 
         * @return builder
         * 
         */
        public Builder externalId(Output externalId) {
            $.externalId = externalId;
            return this;
        }

        /**
         * @param externalId The external ID used to estalish trust relationship with the AWS identity.
         * 
         * @return builder
         * 
         */
        public Builder externalId(String externalId) {
            return externalId(Output.of(externalId));
        }

        /**
         * @param principal The AWS identity principal.
         * 
         * @return builder
         * 
         */
        public Builder principal(Output principal) {
            $.principal = principal;
            return this;
        }

        /**
         * @param principal The AWS identity principal.
         * 
         * @return builder
         * 
         */
        public Builder principal(String principal) {
            return principal(Output.of(principal));
        }

        public CustomLogSourceConfigurationProviderIdentityArgs build() {
            if ($.externalId == null) {
                throw new MissingRequiredPropertyException("CustomLogSourceConfigurationProviderIdentityArgs", "externalId");
            }
            if ($.principal == null) {
                throw new MissingRequiredPropertyException("CustomLogSourceConfigurationProviderIdentityArgs", "principal");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy