@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,029 lines • 147 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StoragegatewayGateway = exports.StoragegatewayGatewayTimeoutsOutputReference = exports.storagegatewayGatewayTimeoutsToHclTerraform = exports.storagegatewayGatewayTimeoutsToTerraform = exports.StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference = exports.storagegatewayGatewaySmbActiveDirectorySettingsToHclTerraform = exports.storagegatewayGatewaySmbActiveDirectorySettingsToTerraform = exports.StoragegatewayGatewayMaintenanceStartTimeOutputReference = exports.storagegatewayGatewayMaintenanceStartTimeToHclTerraform = exports.storagegatewayGatewayMaintenanceStartTimeToTerraform = exports.StoragegatewayGatewayGatewayNetworkInterfaceList = exports.StoragegatewayGatewayGatewayNetworkInterfaceOutputReference = exports.storagegatewayGatewayGatewayNetworkInterfaceToHclTerraform = exports.storagegatewayGatewayGatewayNetworkInterfaceToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function storagegatewayGatewayGatewayNetworkInterfaceToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {};
}
exports.storagegatewayGatewayGatewayNetworkInterfaceToTerraform = storagegatewayGatewayGatewayNetworkInterfaceToTerraform;
function storagegatewayGatewayGatewayNetworkInterfaceToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {};
return attrs;
}
exports.storagegatewayGatewayGatewayNetworkInterfaceToHclTerraform = storagegatewayGatewayGatewayNetworkInterfaceToHclTerraform;
class StoragegatewayGatewayGatewayNetworkInterfaceOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
}
}
// ipv4_address - computed: true, optional: false, required: false
get ipv4Address() {
return this.getStringAttribute('ipv4_address');
}
}
exports.StoragegatewayGatewayGatewayNetworkInterfaceOutputReference = StoragegatewayGatewayGatewayNetworkInterfaceOutputReference;
_a = JSII_RTTI_SYMBOL_1;
StoragegatewayGatewayGatewayNetworkInterfaceOutputReference[_a] = { fqn: "@cdktf/provider-aws.storagegatewayGateway.StoragegatewayGatewayGatewayNetworkInterfaceOutputReference", version: "19.50.0" };
class StoragegatewayGatewayGatewayNetworkInterfaceList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new StoragegatewayGatewayGatewayNetworkInterfaceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.StoragegatewayGatewayGatewayNetworkInterfaceList = StoragegatewayGatewayGatewayNetworkInterfaceList;
_b = JSII_RTTI_SYMBOL_1;
StoragegatewayGatewayGatewayNetworkInterfaceList[_b] = { fqn: "@cdktf/provider-aws.storagegatewayGateway.StoragegatewayGatewayGatewayNetworkInterfaceList", version: "19.50.0" };
function storagegatewayGatewayMaintenanceStartTimeToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
day_of_month: cdktf.stringToTerraform(struct.dayOfMonth),
day_of_week: cdktf.stringToTerraform(struct.dayOfWeek),
hour_of_day: cdktf.numberToTerraform(struct.hourOfDay),
minute_of_hour: cdktf.numberToTerraform(struct.minuteOfHour),
};
}
exports.storagegatewayGatewayMaintenanceStartTimeToTerraform = storagegatewayGatewayMaintenanceStartTimeToTerraform;
function storagegatewayGatewayMaintenanceStartTimeToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
day_of_month: {
value: cdktf.stringToHclTerraform(struct.dayOfMonth),
isBlock: false,
type: "simple",
storageClassType: "string",
},
day_of_week: {
value: cdktf.stringToHclTerraform(struct.dayOfWeek),
isBlock: false,
type: "simple",
storageClassType: "string",
},
hour_of_day: {
value: cdktf.numberToHclTerraform(struct.hourOfDay),
isBlock: false,
type: "simple",
storageClassType: "number",
},
minute_of_hour: {
value: cdktf.numberToHclTerraform(struct.minuteOfHour),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.storagegatewayGatewayMaintenanceStartTimeToHclTerraform = storagegatewayGatewayMaintenanceStartTimeToHclTerraform;
class StoragegatewayGatewayMaintenanceStartTimeOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._dayOfMonth !== undefined) {
hasAnyValues = true;
internalValueResult.dayOfMonth = this._dayOfMonth;
}
if (this._dayOfWeek !== undefined) {
hasAnyValues = true;
internalValueResult.dayOfWeek = this._dayOfWeek;
}
if (this._hourOfDay !== undefined) {
hasAnyValues = true;
internalValueResult.hourOfDay = this._hourOfDay;
}
if (this._minuteOfHour !== undefined) {
hasAnyValues = true;
internalValueResult.minuteOfHour = this._minuteOfHour;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._dayOfMonth = undefined;
this._dayOfWeek = undefined;
this._hourOfDay = undefined;
this._minuteOfHour = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._dayOfMonth = value.dayOfMonth;
this._dayOfWeek = value.dayOfWeek;
this._hourOfDay = value.hourOfDay;
this._minuteOfHour = value.minuteOfHour;
}
}
get dayOfMonth() {
return this.getStringAttribute('day_of_month');
}
set dayOfMonth(value) {
this._dayOfMonth = value;
}
resetDayOfMonth() {
this._dayOfMonth = undefined;
}
// Temporarily expose input value. Use with caution.
get dayOfMonthInput() {
return this._dayOfMonth;
}
get dayOfWeek() {
return this.getStringAttribute('day_of_week');
}
set dayOfWeek(value) {
this._dayOfWeek = value;
}
resetDayOfWeek() {
this._dayOfWeek = undefined;
}
// Temporarily expose input value. Use with caution.
get dayOfWeekInput() {
return this._dayOfWeek;
}
get hourOfDay() {
return this.getNumberAttribute('hour_of_day');
}
set hourOfDay(value) {
this._hourOfDay = value;
}
// Temporarily expose input value. Use with caution.
get hourOfDayInput() {
return this._hourOfDay;
}
get minuteOfHour() {
return this.getNumberAttribute('minute_of_hour');
}
set minuteOfHour(value) {
this._minuteOfHour = value;
}
resetMinuteOfHour() {
this._minuteOfHour = undefined;
}
// Temporarily expose input value. Use with caution.
get minuteOfHourInput() {
return this._minuteOfHour;
}
}
exports.StoragegatewayGatewayMaintenanceStartTimeOutputReference = StoragegatewayGatewayMaintenanceStartTimeOutputReference;
_c = JSII_RTTI_SYMBOL_1;
StoragegatewayGatewayMaintenanceStartTimeOutputReference[_c] = { fqn: "@cdktf/provider-aws.storagegatewayGateway.StoragegatewayGatewayMaintenanceStartTimeOutputReference", version: "19.50.0" };
function storagegatewayGatewaySmbActiveDirectorySettingsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
domain_controllers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.domainControllers),
domain_name: cdktf.stringToTerraform(struct.domainName),
organizational_unit: cdktf.stringToTerraform(struct.organizationalUnit),
password: cdktf.stringToTerraform(struct.password),
timeout_in_seconds: cdktf.numberToTerraform(struct.timeoutInSeconds),
username: cdktf.stringToTerraform(struct.username),
};
}
exports.storagegatewayGatewaySmbActiveDirectorySettingsToTerraform = storagegatewayGatewaySmbActiveDirectorySettingsToTerraform;
function storagegatewayGatewaySmbActiveDirectorySettingsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
domain_controllers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.domainControllers),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
domain_name: {
value: cdktf.stringToHclTerraform(struct.domainName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
organizational_unit: {
value: cdktf.stringToHclTerraform(struct.organizationalUnit),
isBlock: false,
type: "simple",
storageClassType: "string",
},
password: {
value: cdktf.stringToHclTerraform(struct.password),
isBlock: false,
type: "simple",
storageClassType: "string",
},
timeout_in_seconds: {
value: cdktf.numberToHclTerraform(struct.timeoutInSeconds),
isBlock: false,
type: "simple",
storageClassType: "number",
},
username: {
value: cdktf.stringToHclTerraform(struct.username),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.storagegatewayGatewaySmbActiveDirectorySettingsToHclTerraform = storagegatewayGatewaySmbActiveDirectorySettingsToHclTerraform;
class StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._domainControllers !== undefined) {
hasAnyValues = true;
internalValueResult.domainControllers = this._domainControllers;
}
if (this._domainName !== undefined) {
hasAnyValues = true;
internalValueResult.domainName = this._domainName;
}
if (this._organizationalUnit !== undefined) {
hasAnyValues = true;
internalValueResult.organizationalUnit = this._organizationalUnit;
}
if (this._password !== undefined) {
hasAnyValues = true;
internalValueResult.password = this._password;
}
if (this._timeoutInSeconds !== undefined) {
hasAnyValues = true;
internalValueResult.timeoutInSeconds = this._timeoutInSeconds;
}
if (this._username !== undefined) {
hasAnyValues = true;
internalValueResult.username = this._username;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._domainControllers = undefined;
this._domainName = undefined;
this._organizationalUnit = undefined;
this._password = undefined;
this._timeoutInSeconds = undefined;
this._username = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._domainControllers = value.domainControllers;
this._domainName = value.domainName;
this._organizationalUnit = value.organizationalUnit;
this._password = value.password;
this._timeoutInSeconds = value.timeoutInSeconds;
this._username = value.username;
}
}
// active_directory_status - computed: true, optional: false, required: false
get activeDirectoryStatus() {
return this.getStringAttribute('active_directory_status');
}
get domainControllers() {
return cdktf.Fn.tolist(this.getListAttribute('domain_controllers'));
}
set domainControllers(value) {
this._domainControllers = value;
}
resetDomainControllers() {
this._domainControllers = undefined;
}
// Temporarily expose input value. Use with caution.
get domainControllersInput() {
return this._domainControllers;
}
get domainName() {
return this.getStringAttribute('domain_name');
}
set domainName(value) {
this._domainName = value;
}
// Temporarily expose input value. Use with caution.
get domainNameInput() {
return this._domainName;
}
get organizationalUnit() {
return this.getStringAttribute('organizational_unit');
}
set organizationalUnit(value) {
this._organizationalUnit = value;
}
resetOrganizationalUnit() {
this._organizationalUnit = undefined;
}
// Temporarily expose input value. Use with caution.
get organizationalUnitInput() {
return this._organizationalUnit;
}
get password() {
return this.getStringAttribute('password');
}
set password(value) {
this._password = value;
}
// Temporarily expose input value. Use with caution.
get passwordInput() {
return this._password;
}
get timeoutInSeconds() {
return this.getNumberAttribute('timeout_in_seconds');
}
set timeoutInSeconds(value) {
this._timeoutInSeconds = value;
}
resetTimeoutInSeconds() {
this._timeoutInSeconds = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutInSecondsInput() {
return this._timeoutInSeconds;
}
get username() {
return this.getStringAttribute('username');
}
set username(value) {
this._username = value;
}
// Temporarily expose input value. Use with caution.
get usernameInput() {
return this._username;
}
}
exports.StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference = StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference;
_d = JSII_RTTI_SYMBOL_1;
StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference[_d] = { fqn: "@cdktf/provider-aws.storagegatewayGateway.StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference", version: "19.50.0" };
function storagegatewayGatewayTimeoutsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
create: cdktf.stringToTerraform(struct.create),
};
}
exports.storagegatewayGatewayTimeoutsToTerraform = storagegatewayGatewayTimeoutsToTerraform;
function storagegatewayGatewayTimeoutsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
create: {
value: cdktf.stringToHclTerraform(struct.create),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.storagegatewayGatewayTimeoutsToHclTerraform = storagegatewayGatewayTimeoutsToHclTerraform;
class StoragegatewayGatewayTimeoutsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._create !== undefined) {
hasAnyValues = true;
internalValueResult.create = this._create;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._create = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._create = value.create;
}
}
get create() {
return this.getStringAttribute('create');
}
set create(value) {
this._create = value;
}
resetCreate() {
this._create = undefined;
}
// Temporarily expose input value. Use with caution.
get createInput() {
return this._create;
}
}
exports.StoragegatewayGatewayTimeoutsOutputReference = StoragegatewayGatewayTimeoutsOutputReference;
_e = JSII_RTTI_SYMBOL_1;
StoragegatewayGatewayTimeoutsOutputReference[_e] = { fqn: "@cdktf/provider-aws.storagegatewayGateway.StoragegatewayGatewayTimeoutsOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/storagegateway_gateway aws_storagegateway_gateway}
*/
class StoragegatewayGateway extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a StoragegatewayGateway resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the StoragegatewayGateway to import
* @param importFromId The id of the existing StoragegatewayGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/storagegateway_gateway#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the StoragegatewayGateway to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_storagegateway_gateway", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/storagegateway_gateway aws_storagegateway_gateway} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options StoragegatewayGatewayConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_storagegateway_gateway',
terraformGeneratorMetadata: {
providerName: 'aws',
providerVersion: '5.84.0',
providerVersionConstraint: '~> 5.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// gateway_network_interface - computed: true, optional: false, required: false
this._gatewayNetworkInterface = new StoragegatewayGatewayGatewayNetworkInterfaceList(this, "gateway_network_interface", false);
// maintenance_start_time - computed: false, optional: true, required: false
this._maintenanceStartTime = new StoragegatewayGatewayMaintenanceStartTimeOutputReference(this, "maintenance_start_time");
// smb_active_directory_settings - computed: false, optional: true, required: false
this._smbActiveDirectorySettings = new StoragegatewayGatewaySmbActiveDirectorySettingsOutputReference(this, "smb_active_directory_settings");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new StoragegatewayGatewayTimeoutsOutputReference(this, "timeouts");
this._activationKey = config.activationKey;
this._averageDownloadRateLimitInBitsPerSec = config.averageDownloadRateLimitInBitsPerSec;
this._averageUploadRateLimitInBitsPerSec = config.averageUploadRateLimitInBitsPerSec;
this._cloudwatchLogGroupArn = config.cloudwatchLogGroupArn;
this._gatewayIpAddress = config.gatewayIpAddress;
this._gatewayName = config.gatewayName;
this._gatewayTimezone = config.gatewayTimezone;
this._gatewayType = config.gatewayType;
this._gatewayVpcEndpoint = config.gatewayVpcEndpoint;
this._id = config.id;
this._mediumChangerType = config.mediumChangerType;
this._smbFileShareVisibility = config.smbFileShareVisibility;
this._smbGuestPassword = config.smbGuestPassword;
this._smbSecurityStrategy = config.smbSecurityStrategy;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._tapeDriveType = config.tapeDriveType;
this._maintenanceStartTime.internalValue = config.maintenanceStartTime;
this._smbActiveDirectorySettings.internalValue = config.smbActiveDirectorySettings;
this._timeouts.internalValue = config.timeouts;
}
get activationKey() {
return this.getStringAttribute('activation_key');
}
set activationKey(value) {
this._activationKey = value;
}
resetActivationKey() {
this._activationKey = undefined;
}
// Temporarily expose input value. Use with caution.
get activationKeyInput() {
return this._activationKey;
}
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get averageDownloadRateLimitInBitsPerSec() {
return this.getNumberAttribute('average_download_rate_limit_in_bits_per_sec');
}
set averageDownloadRateLimitInBitsPerSec(value) {
this._averageDownloadRateLimitInBitsPerSec = value;
}
resetAverageDownloadRateLimitInBitsPerSec() {
this._averageDownloadRateLimitInBitsPerSec = undefined;
}
// Temporarily expose input value. Use with caution.
get averageDownloadRateLimitInBitsPerSecInput() {
return this._averageDownloadRateLimitInBitsPerSec;
}
get averageUploadRateLimitInBitsPerSec() {
return this.getNumberAttribute('average_upload_rate_limit_in_bits_per_sec');
}
set averageUploadRateLimitInBitsPerSec(value) {
this._averageUploadRateLimitInBitsPerSec = value;
}
resetAverageUploadRateLimitInBitsPerSec() {
this._averageUploadRateLimitInBitsPerSec = undefined;
}
// Temporarily expose input value. Use with caution.
get averageUploadRateLimitInBitsPerSecInput() {
return this._averageUploadRateLimitInBitsPerSec;
}
get cloudwatchLogGroupArn() {
return this.getStringAttribute('cloudwatch_log_group_arn');
}
set cloudwatchLogGroupArn(value) {
this._cloudwatchLogGroupArn = value;
}
resetCloudwatchLogGroupArn() {
this._cloudwatchLogGroupArn = undefined;
}
// Temporarily expose input value. Use with caution.
get cloudwatchLogGroupArnInput() {
return this._cloudwatchLogGroupArn;
}
// ec2_instance_id - computed: true, optional: false, required: false
get ec2InstanceId() {
return this.getStringAttribute('ec2_instance_id');
}
// endpoint_type - computed: true, optional: false, required: false
get endpointType() {
return this.getStringAttribute('endpoint_type');
}
// gateway_id - computed: true, optional: false, required: false
get gatewayId() {
return this.getStringAttribute('gateway_id');
}
get gatewayIpAddress() {
return this.getStringAttribute('gateway_ip_address');
}
set gatewayIpAddress(value) {
this._gatewayIpAddress = value;
}
resetGatewayIpAddress() {
this._gatewayIpAddress = undefined;
}
// Temporarily expose input value. Use with caution.
get gatewayIpAddressInput() {
return this._gatewayIpAddress;
}
get gatewayName() {
return this.getStringAttribute('gateway_name');
}
set gatewayName(value) {
this._gatewayName = value;
}
// Temporarily expose input value. Use with caution.
get gatewayNameInput() {
return this._gatewayName;
}
get gatewayNetworkInterface() {
return this._gatewayNetworkInterface;
}
get gatewayTimezone() {
return this.getStringAttribute('gateway_timezone');
}
set gatewayTimezone(value) {
this._gatewayTimezone = value;
}
// Temporarily expose input value. Use with caution.
get gatewayTimezoneInput() {
return this._gatewayTimezone;
}
get gatewayType() {
return this.getStringAttribute('gateway_type');
}
set gatewayType(value) {
this._gatewayType = value;
}
resetGatewayType() {
this._gatewayType = undefined;
}
// Temporarily expose input value. Use with caution.
get gatewayTypeInput() {
return this._gatewayType;
}
get gatewayVpcEndpoint() {
return this.getStringAttribute('gateway_vpc_endpoint');
}
set gatewayVpcEndpoint(value) {
this._gatewayVpcEndpoint = value;
}
resetGatewayVpcEndpoint() {
this._gatewayVpcEndpoint = undefined;
}
// Temporarily expose input value. Use with caution.
get gatewayVpcEndpointInput() {
return this._gatewayVpcEndpoint;
}
// host_environment - computed: true, optional: false, required: false
get hostEnvironment() {
return this.getStringAttribute('host_environment');
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get mediumChangerType() {
return this.getStringAttribute('medium_changer_type');
}
set mediumChangerType(value) {
this._mediumChangerType = value;
}
resetMediumChangerType() {
this._mediumChangerType = undefined;
}
// Temporarily expose input value. Use with caution.
get mediumChangerTypeInput() {
return this._mediumChangerType;
}
get smbFileShareVisibility() {
return this.getBooleanAttribute('smb_file_share_visibility');
}
set smbFileShareVisibility(value) {
this._smbFileShareVisibility = value;
}
resetSmbFileShareVisibility() {
this._smbFileShareVisibility = undefined;
}
// Temporarily expose input value. Use with caution.
get smbFileShareVisibilityInput() {
return this._smbFileShareVisibility;
}
get smbGuestPassword() {
return this.getStringAttribute('smb_guest_password');
}
set smbGuestPassword(value) {
this._smbGuestPassword = value;
}
resetSmbGuestPassword() {
this._smbGuestPassword = undefined;
}
// Temporarily expose input value. Use with caution.
get smbGuestPasswordInput() {
return this._smbGuestPassword;
}
get smbSecurityStrategy() {
return this.getStringAttribute('smb_security_strategy');
}
set smbSecurityStrategy(value) {
this._smbSecurityStrategy = value;
}
resetSmbSecurityStrategy() {
this._smbSecurityStrategy = undefined;
}
// Temporarily expose input value. Use with caution.
get smbSecurityStrategyInput() {
return this._smbSecurityStrategy;
}
get tags() {
return this.getStringMapAttribute('tags');
}
set tags(value) {
this._tags = value;
}
resetTags() {
this._tags = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsInput() {
return this._tags;
}
get tagsAll() {
return this.getStringMapAttribute('tags_all');
}
set tagsAll(value) {
this._tagsAll = value;
}
resetTagsAll() {
this._tagsAll = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsAllInput() {
return this._tagsAll;
}
get tapeDriveType() {
return this.getStringAttribute('tape_drive_type');
}
set tapeDriveType(value) {
this._tapeDriveType = value;
}
resetTapeDriveType() {
this._tapeDriveType = undefined;
}
// Temporarily expose input value. Use with caution.
get tapeDriveTypeInput() {
return this._tapeDriveType;
}
get maintenanceStartTime() {
return this._maintenanceStartTime;
}
putMaintenanceStartTime(value) {
this._maintenanceStartTime.internalValue = value;
}
resetMaintenanceStartTime() {
this._maintenanceStartTime.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get maintenanceStartTimeInput() {
return this._maintenanceStartTime.internalValue;
}
get smbActiveDirectorySettings() {
return this._smbActiveDirectorySettings;
}
putSmbActiveDirectorySettings(value) {
this._smbActiveDirectorySettings.internalValue = value;
}
resetSmbActiveDirectorySettings() {
this._smbActiveDirectorySettings.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get smbActiveDirectorySettingsInput() {
return this._smbActiveDirectorySettings.internalValue;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
activation_key: cdktf.stringToTerraform(this._activationKey),
average_download_rate_limit_in_bits_per_sec: cdktf.numberToTerraform(this._averageDownloadRateLimitInBitsPerSec),
average_upload_rate_limit_in_bits_per_sec: cdktf.numberToTerraform(this._averageUploadRateLimitInBitsPerSec),
cloudwatch_log_group_arn: cdktf.stringToTerraform(this._cloudwatchLogGroupArn),
gateway_ip_address: cdktf.stringToTerraform(this._gatewayIpAddress),
gateway_name: cdktf.stringToTerraform(this._gatewayName),
gateway_timezone: cdktf.stringToTerraform(this._gatewayTimezone),
gateway_type: cdktf.stringToTerraform(this._gatewayType),
gateway_vpc_endpoint: cdktf.stringToTerraform(this._gatewayVpcEndpoint),
id: cdktf.stringToTerraform(this._id),
medium_changer_type: cdktf.stringToTerraform(this._mediumChangerType),
smb_file_share_visibility: cdktf.booleanToTerraform(this._smbFileShareVisibility),
smb_guest_password: cdktf.stringToTerraform(this._smbGuestPassword),
smb_security_strategy: cdktf.stringToTerraform(this._smbSecurityStrategy),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
tape_drive_type: cdktf.stringToTerraform(this._tapeDriveType),
maintenance_start_time: storagegatewayGatewayMaintenanceStartTimeToTerraform(this._maintenanceStartTime.internalValue),
smb_active_directory_settings: storagegatewayGatewaySmbActiveDirectorySettingsToTerraform(this._smbActiveDirectorySettings.internalValue),
timeouts: storagegatewayGatewayTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
activation_key: {
value: cdktf.stringToHclTerraform(this._activationKey),
isBlock: false,
type: "simple",
storageClassType: "string",
},
average_download_rate_limit_in_bits_per_sec: {
value: cdktf.numberToHclTerraform(this._averageDownloadRateLimitInBitsPerSec),
isBlock: false,
type: "simple",
storageClassType: "number",
},
average_upload_rate_limit_in_bits_per_sec: {
value: cdktf.numberToHclTerraform(this._averageUploadRateLimitInBitsPerSec),
isBlock: false,
type: "simple",
storageClassType: "number",
},
cloudwatch_log_group_arn: {
value: cdktf.stringToHclTerraform(this._cloudwatchLogGroupArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
gateway_ip_address: {
value: cdktf.stringToHclTerraform(this._gatewayIpAddress),
isBlock: false,
type: "simple",
storageClassType: "string",
},
gateway_name: {
value: cdktf.stringToHclTerraform(this._gatewayName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
gateway_timezone: {
value: cdktf.stringToHclTerraform(this._gatewayTimezone),
isBlock: false,
type: "simple",
storageClassType: "string",
},
gateway_type: {
value: cdktf.stringToHclTerraform(this._gatewayType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
gateway_vpc_endpoint: {
value: cdktf.stringToHclTerraform(this._gatewayVpcEndpoint),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
medium_changer_type: {
value: cdktf.stringToHclTerraform(this._mediumChangerType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
smb_file_share_visibility: {
value: cdktf.booleanToHclTerraform(this._smbFileShareVisibility),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
smb_guest_password: {
value: cdktf.stringToHclTerraform(this._smbGuestPassword),
isBlock: false,
type: "simple",
storageClassType: "string",
},
smb_security_strategy: {
value: cdktf.stringToHclTerraform(this._smbSecurityStrategy),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
tags_all: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
tape_drive_type: {
value: cdktf.stringToHclTerraform(this._tapeDriveType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
maintenance_start_time: {
value: storagegatewayGatewayMaintenanceStartTimeToHclTerraform(this._maintenanceStartTime.internalValue),
isBlock: true,
type: "list",
storageClassType: "StoragegatewayGatewayMaintenanceStartTimeList",
},
smb_active_directory_settings: {
value: storagegatewayGatewaySmbActiveDirectorySettingsToHclTerraform(this._smbActiveDirectorySettings.internalValue),
isBlock: true,
type: "list",
storageClassType: "StoragegatewayGatewaySmbActiveDirectorySettingsList",
},
timeouts: {
value: storagegatewayGatewayTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "StoragegatewayGatewayTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.StoragegatewayGateway = StoragegatewayGateway;
_f = JSII_RTTI_SYMBOL_1;
StoragegatewayGateway[_f] = { fqn: "@cdktf/provider-aws.storagegatewayGateway.StoragegatewayGateway", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
StoragegatewayGateway.tfResourceType = "aws_storagegateway_gateway";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZWdhdGV3YXktZ2F0ZXdheS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQWtHL0IsU0FBZ0IsdURBQXVELENBQUMsTUFBcUQ7SUFDM0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTyxFQUNOLENBQUE7QUFDSCxDQUFDO0FBUEQsMEhBT0M7QUFHRCxTQUFnQiwwREFBMEQsQ0FBQyxNQUFxRDtJQUM5SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxFQUNiLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCxnSUFRQztBQUVELE1BQWEsMkRBQTRELFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFHbEc7Ozs7O01BS0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEIsRUFBRSxrQkFBMEIsRUFBRSxzQkFBK0I7UUFD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