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

com.pulumi.azurenative.awsconnector.outputs.AwsS3AccessPointPropertiesResponse 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.azurenative.awsconnector.outputs;

import com.pulumi.azurenative.awsconnector.outputs.PublicAccessBlockConfigurationResponse;
import com.pulumi.azurenative.awsconnector.outputs.VpcConfigurationResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Object;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class AwsS3AccessPointPropertiesResponse {
    /**
     * @return The alias of this Access Point. This alias can be used for compatibility purposes with other AWS services and third-party applications.
     * 
     */
    private @Nullable String alias;
    /**
     * @return The Amazon Resource Name (ARN) of the specified accesspoint. the Amazon Resource Name (ARN) of the specified accesspoint.
     * 
     */
    private @Nullable String arn;
    /**
     * @return The name of the bucket that you want to associate this Access Point with.
     * 
     */
    private @Nullable String bucket;
    /**
     * @return The AWS account ID associated with the S3 bucket associated with this access point.
     * 
     */
    private @Nullable String bucketAccountId;
    /**
     * @return The name you want to assign to this Access Point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.
     * 
     */
    private @Nullable String name;
    /**
     * @return Indicates whether this Access Point allows access from the public Internet. If VpcConfiguration is specified for this Access Point, then NetworkOrigin is VPC, and the Access Point doesn't allow access from the public Internet. Otherwise, NetworkOrigin is Internet, and the Access Point allows access from the public Internet, subject to the Access Point and bucket access policies.
     * 
     */
    private @Nullable String networkOrigin;
    /**
     * @return The Access Point Policy you want to apply to this access point.
     * 
     */
    private @Nullable Object policy;
    /**
     * @return The PublicAccessBlock configuration that you want to apply to this Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status 'The Meaning of Public' in the Amazon Simple Storage Service Developer Guide.
     * 
     */
    private @Nullable PublicAccessBlockConfigurationResponse publicAccessBlockConfiguration;
    /**
     * @return If you include this field, Amazon S3 restricts access to this Access Point to requests from the specified Virtual Private Cloud (VPC). The Virtual Private Cloud (VPC) configuration for a bucket access point.
     * 
     */
    private @Nullable VpcConfigurationResponse vpcConfiguration;

    private AwsS3AccessPointPropertiesResponse() {}
    /**
     * @return The alias of this Access Point. This alias can be used for compatibility purposes with other AWS services and third-party applications.
     * 
     */
    public Optional alias() {
        return Optional.ofNullable(this.alias);
    }
    /**
     * @return The Amazon Resource Name (ARN) of the specified accesspoint. the Amazon Resource Name (ARN) of the specified accesspoint.
     * 
     */
    public Optional arn() {
        return Optional.ofNullable(this.arn);
    }
    /**
     * @return The name of the bucket that you want to associate this Access Point with.
     * 
     */
    public Optional bucket() {
        return Optional.ofNullable(this.bucket);
    }
    /**
     * @return The AWS account ID associated with the S3 bucket associated with this access point.
     * 
     */
    public Optional bucketAccountId() {
        return Optional.ofNullable(this.bucketAccountId);
    }
    /**
     * @return The name you want to assign to this Access Point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.
     * 
     */
    public Optional name() {
        return Optional.ofNullable(this.name);
    }
    /**
     * @return Indicates whether this Access Point allows access from the public Internet. If VpcConfiguration is specified for this Access Point, then NetworkOrigin is VPC, and the Access Point doesn't allow access from the public Internet. Otherwise, NetworkOrigin is Internet, and the Access Point allows access from the public Internet, subject to the Access Point and bucket access policies.
     * 
     */
    public Optional networkOrigin() {
        return Optional.ofNullable(this.networkOrigin);
    }
    /**
     * @return The Access Point Policy you want to apply to this access point.
     * 
     */
    public Optional policy() {
        return Optional.ofNullable(this.policy);
    }
    /**
     * @return The PublicAccessBlock configuration that you want to apply to this Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status 'The Meaning of Public' in the Amazon Simple Storage Service Developer Guide.
     * 
     */
    public Optional publicAccessBlockConfiguration() {
        return Optional.ofNullable(this.publicAccessBlockConfiguration);
    }
    /**
     * @return If you include this field, Amazon S3 restricts access to this Access Point to requests from the specified Virtual Private Cloud (VPC). The Virtual Private Cloud (VPC) configuration for a bucket access point.
     * 
     */
    public Optional vpcConfiguration() {
        return Optional.ofNullable(this.vpcConfiguration);
    }

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

    public static Builder builder(AwsS3AccessPointPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String alias;
        private @Nullable String arn;
        private @Nullable String bucket;
        private @Nullable String bucketAccountId;
        private @Nullable String name;
        private @Nullable String networkOrigin;
        private @Nullable Object policy;
        private @Nullable PublicAccessBlockConfigurationResponse publicAccessBlockConfiguration;
        private @Nullable VpcConfigurationResponse vpcConfiguration;
        public Builder() {}
        public Builder(AwsS3AccessPointPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.alias = defaults.alias;
    	      this.arn = defaults.arn;
    	      this.bucket = defaults.bucket;
    	      this.bucketAccountId = defaults.bucketAccountId;
    	      this.name = defaults.name;
    	      this.networkOrigin = defaults.networkOrigin;
    	      this.policy = defaults.policy;
    	      this.publicAccessBlockConfiguration = defaults.publicAccessBlockConfiguration;
    	      this.vpcConfiguration = defaults.vpcConfiguration;
        }

        @CustomType.Setter
        public Builder alias(@Nullable String alias) {

            this.alias = alias;
            return this;
        }
        @CustomType.Setter
        public Builder arn(@Nullable String arn) {

            this.arn = arn;
            return this;
        }
        @CustomType.Setter
        public Builder bucket(@Nullable String bucket) {

            this.bucket = bucket;
            return this;
        }
        @CustomType.Setter
        public Builder bucketAccountId(@Nullable String bucketAccountId) {

            this.bucketAccountId = bucketAccountId;
            return this;
        }
        @CustomType.Setter
        public Builder name(@Nullable String name) {

            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder networkOrigin(@Nullable String networkOrigin) {

            this.networkOrigin = networkOrigin;
            return this;
        }
        @CustomType.Setter
        public Builder policy(@Nullable Object policy) {

            this.policy = policy;
            return this;
        }
        @CustomType.Setter
        public Builder publicAccessBlockConfiguration(@Nullable PublicAccessBlockConfigurationResponse publicAccessBlockConfiguration) {

            this.publicAccessBlockConfiguration = publicAccessBlockConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder vpcConfiguration(@Nullable VpcConfigurationResponse vpcConfiguration) {

            this.vpcConfiguration = vpcConfiguration;
            return this;
        }
        public AwsS3AccessPointPropertiesResponse build() {
            final var _resultValue = new AwsS3AccessPointPropertiesResponse();
            _resultValue.alias = alias;
            _resultValue.arn = arn;
            _resultValue.bucket = bucket;
            _resultValue.bucketAccountId = bucketAccountId;
            _resultValue.name = name;
            _resultValue.networkOrigin = networkOrigin;
            _resultValue.policy = policy;
            _resultValue.publicAccessBlockConfiguration = publicAccessBlockConfiguration;
            _resultValue.vpcConfiguration = vpcConfiguration;
            return _resultValue;
        }
    }
}