Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.storagegateway.inputs.GatewayState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** 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.storagegateway.inputs;
import com.pulumi.aws.storagegateway.inputs.GatewayGatewayNetworkInterfaceArgs;
import com.pulumi.aws.storagegateway.inputs.GatewayMaintenanceStartTimeArgs;
import com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GatewayState extends com.pulumi.resources.ResourceArgs {
public static final GatewayState Empty = new GatewayState();
/**
* Gateway activation key during resource creation. Conflicts with `gateway_ip_address`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
*/
@Import(name="activationKey")
private @Nullable Output activationKey;
/**
* @return Gateway activation key during resource creation. Conflicts with `gateway_ip_address`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
*/
public Optional> activationKey() {
return Optional.ofNullable(this.activationKey);
}
/**
* Amazon Resource Name (ARN) of the gateway.
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return Amazon Resource Name (ARN) of the gateway.
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
*/
@Import(name="averageDownloadRateLimitInBitsPerSec")
private @Nullable Output averageDownloadRateLimitInBitsPerSec;
/**
* @return The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
*/
public Optional> averageDownloadRateLimitInBitsPerSec() {
return Optional.ofNullable(this.averageDownloadRateLimitInBitsPerSec);
}
/**
* The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
*/
@Import(name="averageUploadRateLimitInBitsPerSec")
private @Nullable Output averageUploadRateLimitInBitsPerSec;
/**
* @return The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
*/
public Optional> averageUploadRateLimitInBitsPerSec() {
return Optional.ofNullable(this.averageUploadRateLimitInBitsPerSec);
}
/**
* The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
*
*/
@Import(name="cloudwatchLogGroupArn")
private @Nullable Output cloudwatchLogGroupArn;
/**
* @return The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
*
*/
public Optional> cloudwatchLogGroupArn() {
return Optional.ofNullable(this.cloudwatchLogGroupArn);
}
/**
* The ID of the Amazon EC2 instance that was used to launch the gateway.
*
*/
@Import(name="ec2InstanceId")
private @Nullable Output ec2InstanceId;
/**
* @return The ID of the Amazon EC2 instance that was used to launch the gateway.
*
*/
public Optional> ec2InstanceId() {
return Optional.ofNullable(this.ec2InstanceId);
}
/**
* The type of endpoint for your gateway.
*
*/
@Import(name="endpointType")
private @Nullable Output endpointType;
/**
* @return The type of endpoint for your gateway.
*
*/
public Optional> endpointType() {
return Optional.ofNullable(this.endpointType);
}
/**
* Identifier of the gateway.
*
*/
@Import(name="gatewayId")
private @Nullable Output gatewayId;
/**
* @return Identifier of the gateway.
*
*/
public Optional> gatewayId() {
return Optional.ofNullable(this.gatewayId);
}
/**
* Gateway IP address to retrieve activation key during resource creation. Conflicts with `activation_key`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
*/
@Import(name="gatewayIpAddress")
private @Nullable Output gatewayIpAddress;
/**
* @return Gateway IP address to retrieve activation key during resource creation. Conflicts with `activation_key`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
*/
public Optional> gatewayIpAddress() {
return Optional.ofNullable(this.gatewayIpAddress);
}
/**
* Name of the gateway.
*
*/
@Import(name="gatewayName")
private @Nullable Output gatewayName;
/**
* @return Name of the gateway.
*
*/
public Optional> gatewayName() {
return Optional.ofNullable(this.gatewayName);
}
/**
* An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
*
*/
@Import(name="gatewayNetworkInterfaces")
private @Nullable Output> gatewayNetworkInterfaces;
/**
* @return An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
*
*/
public Optional>> gatewayNetworkInterfaces() {
return Optional.ofNullable(this.gatewayNetworkInterfaces);
}
/**
* Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
*
*/
@Import(name="gatewayTimezone")
private @Nullable Output gatewayTimezone;
/**
* @return Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
*
*/
public Optional> gatewayTimezone() {
return Optional.ofNullable(this.gatewayTimezone);
}
/**
* Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`.
*
*/
@Import(name="gatewayType")
private @Nullable Output gatewayType;
/**
* @return Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`.
*
*/
public Optional> gatewayType() {
return Optional.ofNullable(this.gatewayType);
}
/**
* VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
*
*/
@Import(name="gatewayVpcEndpoint")
private @Nullable Output gatewayVpcEndpoint;
/**
* @return VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
*
*/
public Optional> gatewayVpcEndpoint() {
return Optional.ofNullable(this.gatewayVpcEndpoint);
}
/**
* The type of hypervisor environment used by the host.
*
*/
@Import(name="hostEnvironment")
private @Nullable Output hostEnvironment;
/**
* @return The type of hypervisor environment used by the host.
*
*/
public Optional> hostEnvironment() {
return Optional.ofNullable(this.hostEnvironment);
}
/**
* The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below.
*
*/
@Import(name="maintenanceStartTime")
private @Nullable Output maintenanceStartTime;
/**
* @return The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below.
*
*/
public Optional> maintenanceStartTime() {
return Optional.ofNullable(this.maintenanceStartTime);
}
/**
* Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
*
*/
@Import(name="mediumChangerType")
private @Nullable Output mediumChangerType;
/**
* @return Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
*
*/
public Optional> mediumChangerType() {
return Optional.ofNullable(this.mediumChangerType);
}
/**
* Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
*
*/
@Import(name="smbActiveDirectorySettings")
private @Nullable Output smbActiveDirectorySettings;
/**
* @return Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
*
*/
public Optional> smbActiveDirectorySettings() {
return Optional.ofNullable(this.smbActiveDirectorySettings);
}
/**
* Specifies whether the shares on this gateway appear when listing shares.
*
*/
@Import(name="smbFileShareVisibility")
private @Nullable Output smbFileShareVisibility;
/**
* @return Specifies whether the shares on this gateway appear when listing shares.
*
*/
public Optional> smbFileShareVisibility() {
return Optional.ofNullable(this.smbFileShareVisibility);
}
/**
* Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
*
*/
@Import(name="smbGuestPassword")
private @Nullable Output smbGuestPassword;
/**
* @return Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
*
*/
public Optional> smbGuestPassword() {
return Optional.ofNullable(this.smbGuestPassword);
}
/**
* Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
*
*/
@Import(name="smbSecurityStrategy")
private @Nullable Output smbSecurityStrategy;
/**
* @return Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
*
*/
public Optional> smbSecurityStrategy() {
return Optional.ofNullable(this.smbSecurityStrategy);
}
/**
* Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Import(name="tagsAll")
private @Nullable Output> tagsAll;
/**
* @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Optional>> tagsAll() {
return Optional.ofNullable(this.tagsAll);
}
/**
* Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
*
*/
@Import(name="tapeDriveType")
private @Nullable Output tapeDriveType;
/**
* @return Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
*
*/
public Optional> tapeDriveType() {
return Optional.ofNullable(this.tapeDriveType);
}
private GatewayState() {}
private GatewayState(GatewayState $) {
this.activationKey = $.activationKey;
this.arn = $.arn;
this.averageDownloadRateLimitInBitsPerSec = $.averageDownloadRateLimitInBitsPerSec;
this.averageUploadRateLimitInBitsPerSec = $.averageUploadRateLimitInBitsPerSec;
this.cloudwatchLogGroupArn = $.cloudwatchLogGroupArn;
this.ec2InstanceId = $.ec2InstanceId;
this.endpointType = $.endpointType;
this.gatewayId = $.gatewayId;
this.gatewayIpAddress = $.gatewayIpAddress;
this.gatewayName = $.gatewayName;
this.gatewayNetworkInterfaces = $.gatewayNetworkInterfaces;
this.gatewayTimezone = $.gatewayTimezone;
this.gatewayType = $.gatewayType;
this.gatewayVpcEndpoint = $.gatewayVpcEndpoint;
this.hostEnvironment = $.hostEnvironment;
this.maintenanceStartTime = $.maintenanceStartTime;
this.mediumChangerType = $.mediumChangerType;
this.smbActiveDirectorySettings = $.smbActiveDirectorySettings;
this.smbFileShareVisibility = $.smbFileShareVisibility;
this.smbGuestPassword = $.smbGuestPassword;
this.smbSecurityStrategy = $.smbSecurityStrategy;
this.tags = $.tags;
this.tagsAll = $.tagsAll;
this.tapeDriveType = $.tapeDriveType;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GatewayState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GatewayState $;
public Builder() {
$ = new GatewayState();
}
public Builder(GatewayState defaults) {
$ = new GatewayState(Objects.requireNonNull(defaults));
}
/**
* @param activationKey Gateway activation key during resource creation. Conflicts with `gateway_ip_address`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
* @return builder
*
*/
public Builder activationKey(@Nullable Output activationKey) {
$.activationKey = activationKey;
return this;
}
/**
* @param activationKey Gateway activation key during resource creation. Conflicts with `gateway_ip_address`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
* @return builder
*
*/
public Builder activationKey(String activationKey) {
return activationKey(Output.of(activationKey));
}
/**
* @param arn Amazon Resource Name (ARN) of the gateway.
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn Amazon Resource Name (ARN) of the gateway.
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param averageDownloadRateLimitInBitsPerSec The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
* @return builder
*
*/
public Builder averageDownloadRateLimitInBitsPerSec(@Nullable Output averageDownloadRateLimitInBitsPerSec) {
$.averageDownloadRateLimitInBitsPerSec = averageDownloadRateLimitInBitsPerSec;
return this;
}
/**
* @param averageDownloadRateLimitInBitsPerSec The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
* @return builder
*
*/
public Builder averageDownloadRateLimitInBitsPerSec(Integer averageDownloadRateLimitInBitsPerSec) {
return averageDownloadRateLimitInBitsPerSec(Output.of(averageDownloadRateLimitInBitsPerSec));
}
/**
* @param averageUploadRateLimitInBitsPerSec The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
* @return builder
*
*/
public Builder averageUploadRateLimitInBitsPerSec(@Nullable Output averageUploadRateLimitInBitsPerSec) {
$.averageUploadRateLimitInBitsPerSec = averageUploadRateLimitInBitsPerSec;
return this;
}
/**
* @param averageUploadRateLimitInBitsPerSec The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
*
* @return builder
*
*/
public Builder averageUploadRateLimitInBitsPerSec(Integer averageUploadRateLimitInBitsPerSec) {
return averageUploadRateLimitInBitsPerSec(Output.of(averageUploadRateLimitInBitsPerSec));
}
/**
* @param cloudwatchLogGroupArn The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
*
* @return builder
*
*/
public Builder cloudwatchLogGroupArn(@Nullable Output cloudwatchLogGroupArn) {
$.cloudwatchLogGroupArn = cloudwatchLogGroupArn;
return this;
}
/**
* @param cloudwatchLogGroupArn The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
*
* @return builder
*
*/
public Builder cloudwatchLogGroupArn(String cloudwatchLogGroupArn) {
return cloudwatchLogGroupArn(Output.of(cloudwatchLogGroupArn));
}
/**
* @param ec2InstanceId The ID of the Amazon EC2 instance that was used to launch the gateway.
*
* @return builder
*
*/
public Builder ec2InstanceId(@Nullable Output ec2InstanceId) {
$.ec2InstanceId = ec2InstanceId;
return this;
}
/**
* @param ec2InstanceId The ID of the Amazon EC2 instance that was used to launch the gateway.
*
* @return builder
*
*/
public Builder ec2InstanceId(String ec2InstanceId) {
return ec2InstanceId(Output.of(ec2InstanceId));
}
/**
* @param endpointType The type of endpoint for your gateway.
*
* @return builder
*
*/
public Builder endpointType(@Nullable Output endpointType) {
$.endpointType = endpointType;
return this;
}
/**
* @param endpointType The type of endpoint for your gateway.
*
* @return builder
*
*/
public Builder endpointType(String endpointType) {
return endpointType(Output.of(endpointType));
}
/**
* @param gatewayId Identifier of the gateway.
*
* @return builder
*
*/
public Builder gatewayId(@Nullable Output gatewayId) {
$.gatewayId = gatewayId;
return this;
}
/**
* @param gatewayId Identifier of the gateway.
*
* @return builder
*
*/
public Builder gatewayId(String gatewayId) {
return gatewayId(Output.of(gatewayId));
}
/**
* @param gatewayIpAddress Gateway IP address to retrieve activation key during resource creation. Conflicts with `activation_key`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
* @return builder
*
*/
public Builder gatewayIpAddress(@Nullable Output gatewayIpAddress) {
$.gatewayIpAddress = gatewayIpAddress;
return this;
}
/**
* @param gatewayIpAddress Gateway IP address to retrieve activation key during resource creation. Conflicts with `activation_key`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
*
* @return builder
*
*/
public Builder gatewayIpAddress(String gatewayIpAddress) {
return gatewayIpAddress(Output.of(gatewayIpAddress));
}
/**
* @param gatewayName Name of the gateway.
*
* @return builder
*
*/
public Builder gatewayName(@Nullable Output gatewayName) {
$.gatewayName = gatewayName;
return this;
}
/**
* @param gatewayName Name of the gateway.
*
* @return builder
*
*/
public Builder gatewayName(String gatewayName) {
return gatewayName(Output.of(gatewayName));
}
/**
* @param gatewayNetworkInterfaces An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
*
* @return builder
*
*/
public Builder gatewayNetworkInterfaces(@Nullable Output> gatewayNetworkInterfaces) {
$.gatewayNetworkInterfaces = gatewayNetworkInterfaces;
return this;
}
/**
* @param gatewayNetworkInterfaces An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
*
* @return builder
*
*/
public Builder gatewayNetworkInterfaces(List gatewayNetworkInterfaces) {
return gatewayNetworkInterfaces(Output.of(gatewayNetworkInterfaces));
}
/**
* @param gatewayNetworkInterfaces An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
*
* @return builder
*
*/
public Builder gatewayNetworkInterfaces(GatewayGatewayNetworkInterfaceArgs... gatewayNetworkInterfaces) {
return gatewayNetworkInterfaces(List.of(gatewayNetworkInterfaces));
}
/**
* @param gatewayTimezone Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
*
* @return builder
*
*/
public Builder gatewayTimezone(@Nullable Output gatewayTimezone) {
$.gatewayTimezone = gatewayTimezone;
return this;
}
/**
* @param gatewayTimezone Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
*
* @return builder
*
*/
public Builder gatewayTimezone(String gatewayTimezone) {
return gatewayTimezone(Output.of(gatewayTimezone));
}
/**
* @param gatewayType Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`.
*
* @return builder
*
*/
public Builder gatewayType(@Nullable Output gatewayType) {
$.gatewayType = gatewayType;
return this;
}
/**
* @param gatewayType Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`.
*
* @return builder
*
*/
public Builder gatewayType(String gatewayType) {
return gatewayType(Output.of(gatewayType));
}
/**
* @param gatewayVpcEndpoint VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
*
* @return builder
*
*/
public Builder gatewayVpcEndpoint(@Nullable Output gatewayVpcEndpoint) {
$.gatewayVpcEndpoint = gatewayVpcEndpoint;
return this;
}
/**
* @param gatewayVpcEndpoint VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
*
* @return builder
*
*/
public Builder gatewayVpcEndpoint(String gatewayVpcEndpoint) {
return gatewayVpcEndpoint(Output.of(gatewayVpcEndpoint));
}
/**
* @param hostEnvironment The type of hypervisor environment used by the host.
*
* @return builder
*
*/
public Builder hostEnvironment(@Nullable Output hostEnvironment) {
$.hostEnvironment = hostEnvironment;
return this;
}
/**
* @param hostEnvironment The type of hypervisor environment used by the host.
*
* @return builder
*
*/
public Builder hostEnvironment(String hostEnvironment) {
return hostEnvironment(Output.of(hostEnvironment));
}
/**
* @param maintenanceStartTime The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below.
*
* @return builder
*
*/
public Builder maintenanceStartTime(@Nullable Output maintenanceStartTime) {
$.maintenanceStartTime = maintenanceStartTime;
return this;
}
/**
* @param maintenanceStartTime The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below.
*
* @return builder
*
*/
public Builder maintenanceStartTime(GatewayMaintenanceStartTimeArgs maintenanceStartTime) {
return maintenanceStartTime(Output.of(maintenanceStartTime));
}
/**
* @param mediumChangerType Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
*
* @return builder
*
*/
public Builder mediumChangerType(@Nullable Output mediumChangerType) {
$.mediumChangerType = mediumChangerType;
return this;
}
/**
* @param mediumChangerType Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
*
* @return builder
*
*/
public Builder mediumChangerType(String mediumChangerType) {
return mediumChangerType(Output.of(mediumChangerType));
}
/**
* @param smbActiveDirectorySettings Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
*
* @return builder
*
*/
public Builder smbActiveDirectorySettings(@Nullable Output smbActiveDirectorySettings) {
$.smbActiveDirectorySettings = smbActiveDirectorySettings;
return this;
}
/**
* @param smbActiveDirectorySettings Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
*
* @return builder
*
*/
public Builder smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs smbActiveDirectorySettings) {
return smbActiveDirectorySettings(Output.of(smbActiveDirectorySettings));
}
/**
* @param smbFileShareVisibility Specifies whether the shares on this gateway appear when listing shares.
*
* @return builder
*
*/
public Builder smbFileShareVisibility(@Nullable Output smbFileShareVisibility) {
$.smbFileShareVisibility = smbFileShareVisibility;
return this;
}
/**
* @param smbFileShareVisibility Specifies whether the shares on this gateway appear when listing shares.
*
* @return builder
*
*/
public Builder smbFileShareVisibility(Boolean smbFileShareVisibility) {
return smbFileShareVisibility(Output.of(smbFileShareVisibility));
}
/**
* @param smbGuestPassword Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
*
* @return builder
*
*/
public Builder smbGuestPassword(@Nullable Output smbGuestPassword) {
$.smbGuestPassword = smbGuestPassword;
return this;
}
/**
* @param smbGuestPassword Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
*
* @return builder
*
*/
public Builder smbGuestPassword(String smbGuestPassword) {
return smbGuestPassword(Output.of(smbGuestPassword));
}
/**
* @param smbSecurityStrategy Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
*
* @return builder
*
*/
public Builder smbSecurityStrategy(@Nullable Output smbSecurityStrategy) {
$.smbSecurityStrategy = smbSecurityStrategy;
return this;
}
/**
* @param smbSecurityStrategy Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
*
* @return builder
*
*/
public Builder smbSecurityStrategy(String smbSecurityStrategy) {
return smbSecurityStrategy(Output.of(smbSecurityStrategy));
}
/**
* @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(@Nullable Output> tagsAll) {
$.tagsAll = tagsAll;
return this;
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(Map tagsAll) {
return tagsAll(Output.of(tagsAll));
}
/**
* @param tapeDriveType Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
*
* @return builder
*
*/
public Builder tapeDriveType(@Nullable Output tapeDriveType) {
$.tapeDriveType = tapeDriveType;
return this;
}
/**
* @param tapeDriveType Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
*
* @return builder
*
*/
public Builder tapeDriveType(String tapeDriveType) {
return tapeDriveType(Output.of(tapeDriveType));
}
public GatewayState build() {
return $;
}
}
}