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

com.pulumi.googlenative.vmmigration.v1alpha1.inputs.AwsSourceDetailsArgs Maven / Gradle / Ivy

// *** 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.googlenative.vmmigration.v1alpha1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.vmmigration.v1alpha1.inputs.AccessKeyCredentialsArgs;
import com.pulumi.googlenative.vmmigration.v1alpha1.inputs.TagArgs;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * AwsSourceDetails message describes a specific source details for the AWS source type.
 * 
 */
public final class AwsSourceDetailsArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsSourceDetailsArgs Empty = new AwsSourceDetailsArgs();

    /**
     * AWS Credentials using access key id and secret.
     * 
     */
    @Import(name="accessKeyCreds")
    private @Nullable Output accessKeyCreds;

    /**
     * @return AWS Credentials using access key id and secret.
     * 
     */
    public Optional> accessKeyCreds() {
        return Optional.ofNullable(this.accessKeyCreds);
    }

    /**
     * Immutable. The AWS region that the source VMs will be migrated from.
     * 
     */
    @Import(name="awsRegion")
    private @Nullable Output awsRegion;

    /**
     * @return Immutable. The AWS region that the source VMs will be migrated from.
     * 
     */
    public Optional> awsRegion() {
        return Optional.ofNullable(this.awsRegion);
    }

    /**
     * AWS security group names to limit the scope of the source inventory.
     * 
     */
    @Import(name="inventorySecurityGroupNames")
    private @Nullable Output> inventorySecurityGroupNames;

    /**
     * @return AWS security group names to limit the scope of the source inventory.
     * 
     */
    public Optional>> inventorySecurityGroupNames() {
        return Optional.ofNullable(this.inventorySecurityGroupNames);
    }

    /**
     * AWS resource tags to limit the scope of the source inventory.
     * 
     */
    @Import(name="inventoryTagList")
    private @Nullable Output> inventoryTagList;

    /**
     * @return AWS resource tags to limit the scope of the source inventory.
     * 
     */
    public Optional>> inventoryTagList() {
        return Optional.ofNullable(this.inventoryTagList);
    }

    /**
     * User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.
     * 
     */
    @Import(name="migrationResourcesUserTags")
    private @Nullable Output> migrationResourcesUserTags;

    /**
     * @return User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.
     * 
     */
    public Optional>> migrationResourcesUserTags() {
        return Optional.ofNullable(this.migrationResourcesUserTags);
    }

    private AwsSourceDetailsArgs() {}

    private AwsSourceDetailsArgs(AwsSourceDetailsArgs $) {
        this.accessKeyCreds = $.accessKeyCreds;
        this.awsRegion = $.awsRegion;
        this.inventorySecurityGroupNames = $.inventorySecurityGroupNames;
        this.inventoryTagList = $.inventoryTagList;
        this.migrationResourcesUserTags = $.migrationResourcesUserTags;
    }

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

    public static final class Builder {
        private AwsSourceDetailsArgs $;

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

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

        /**
         * @param accessKeyCreds AWS Credentials using access key id and secret.
         * 
         * @return builder
         * 
         */
        public Builder accessKeyCreds(@Nullable Output accessKeyCreds) {
            $.accessKeyCreds = accessKeyCreds;
            return this;
        }

        /**
         * @param accessKeyCreds AWS Credentials using access key id and secret.
         * 
         * @return builder
         * 
         */
        public Builder accessKeyCreds(AccessKeyCredentialsArgs accessKeyCreds) {
            return accessKeyCreds(Output.of(accessKeyCreds));
        }

        /**
         * @param awsRegion Immutable. The AWS region that the source VMs will be migrated from.
         * 
         * @return builder
         * 
         */
        public Builder awsRegion(@Nullable Output awsRegion) {
            $.awsRegion = awsRegion;
            return this;
        }

        /**
         * @param awsRegion Immutable. The AWS region that the source VMs will be migrated from.
         * 
         * @return builder
         * 
         */
        public Builder awsRegion(String awsRegion) {
            return awsRegion(Output.of(awsRegion));
        }

        /**
         * @param inventorySecurityGroupNames AWS security group names to limit the scope of the source inventory.
         * 
         * @return builder
         * 
         */
        public Builder inventorySecurityGroupNames(@Nullable Output> inventorySecurityGroupNames) {
            $.inventorySecurityGroupNames = inventorySecurityGroupNames;
            return this;
        }

        /**
         * @param inventorySecurityGroupNames AWS security group names to limit the scope of the source inventory.
         * 
         * @return builder
         * 
         */
        public Builder inventorySecurityGroupNames(List inventorySecurityGroupNames) {
            return inventorySecurityGroupNames(Output.of(inventorySecurityGroupNames));
        }

        /**
         * @param inventorySecurityGroupNames AWS security group names to limit the scope of the source inventory.
         * 
         * @return builder
         * 
         */
        public Builder inventorySecurityGroupNames(String... inventorySecurityGroupNames) {
            return inventorySecurityGroupNames(List.of(inventorySecurityGroupNames));
        }

        /**
         * @param inventoryTagList AWS resource tags to limit the scope of the source inventory.
         * 
         * @return builder
         * 
         */
        public Builder inventoryTagList(@Nullable Output> inventoryTagList) {
            $.inventoryTagList = inventoryTagList;
            return this;
        }

        /**
         * @param inventoryTagList AWS resource tags to limit the scope of the source inventory.
         * 
         * @return builder
         * 
         */
        public Builder inventoryTagList(List inventoryTagList) {
            return inventoryTagList(Output.of(inventoryTagList));
        }

        /**
         * @param inventoryTagList AWS resource tags to limit the scope of the source inventory.
         * 
         * @return builder
         * 
         */
        public Builder inventoryTagList(TagArgs... inventoryTagList) {
            return inventoryTagList(List.of(inventoryTagList));
        }

        /**
         * @param migrationResourcesUserTags User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.
         * 
         * @return builder
         * 
         */
        public Builder migrationResourcesUserTags(@Nullable Output> migrationResourcesUserTags) {
            $.migrationResourcesUserTags = migrationResourcesUserTags;
            return this;
        }

        /**
         * @param migrationResourcesUserTags User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.
         * 
         * @return builder
         * 
         */
        public Builder migrationResourcesUserTags(Map migrationResourcesUserTags) {
            return migrationResourcesUserTags(Output.of(migrationResourcesUserTags));
        }

        public AwsSourceDetailsArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy