UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,029 lines 147 kB
"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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