@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
999 lines • 139 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppstreamStack = exports.AppstreamStackUserSettingsList = exports.AppstreamStackUserSettingsOutputReference = exports.AppstreamStackStreamingExperienceSettingsOutputReference = exports.AppstreamStackStorageConnectorsList = exports.AppstreamStackStorageConnectorsOutputReference = exports.AppstreamStackApplicationSettingsOutputReference = exports.AppstreamStackAccessEndpointsList = exports.AppstreamStackAccessEndpointsOutputReference = void 0;
exports.appstreamStackAccessEndpointsToTerraform = appstreamStackAccessEndpointsToTerraform;
exports.appstreamStackAccessEndpointsToHclTerraform = appstreamStackAccessEndpointsToHclTerraform;
exports.appstreamStackApplicationSettingsToTerraform = appstreamStackApplicationSettingsToTerraform;
exports.appstreamStackApplicationSettingsToHclTerraform = appstreamStackApplicationSettingsToHclTerraform;
exports.appstreamStackStorageConnectorsToTerraform = appstreamStackStorageConnectorsToTerraform;
exports.appstreamStackStorageConnectorsToHclTerraform = appstreamStackStorageConnectorsToHclTerraform;
exports.appstreamStackStreamingExperienceSettingsToTerraform = appstreamStackStreamingExperienceSettingsToTerraform;
exports.appstreamStackStreamingExperienceSettingsToHclTerraform = appstreamStackStreamingExperienceSettingsToHclTerraform;
exports.appstreamStackUserSettingsToTerraform = appstreamStackUserSettingsToTerraform;
exports.appstreamStackUserSettingsToHclTerraform = appstreamStackUserSettingsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function appstreamStackAccessEndpointsToTerraform(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 {
endpoint_type: cdktf.stringToTerraform(struct.endpointType),
vpce_id: cdktf.stringToTerraform(struct.vpceId),
};
}
function appstreamStackAccessEndpointsToHclTerraform(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 = {
endpoint_type: {
value: cdktf.stringToHclTerraform(struct.endpointType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vpce_id: {
value: cdktf.stringToHclTerraform(struct.vpceId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppstreamStackAccessEndpointsOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._endpointType !== undefined) {
hasAnyValues = true;
internalValueResult.endpointType = this._endpointType;
}
if (this._vpceId !== undefined) {
hasAnyValues = true;
internalValueResult.vpceId = this._vpceId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._endpointType = undefined;
this._vpceId = 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._endpointType = value.endpointType;
this._vpceId = value.vpceId;
}
}
get endpointType() {
return this.getStringAttribute('endpoint_type');
}
set endpointType(value) {
this._endpointType = value;
}
// Temporarily expose input value. Use with caution.
get endpointTypeInput() {
return this._endpointType;
}
get vpceId() {
return this.getStringAttribute('vpce_id');
}
set vpceId(value) {
this._vpceId = value;
}
resetVpceId() {
this._vpceId = undefined;
}
// Temporarily expose input value. Use with caution.
get vpceIdInput() {
return this._vpceId;
}
}
exports.AppstreamStackAccessEndpointsOutputReference = AppstreamStackAccessEndpointsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
AppstreamStackAccessEndpointsOutputReference[_a] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackAccessEndpointsOutputReference", version: "21.22.1" };
class AppstreamStackAccessEndpointsList 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 AppstreamStackAccessEndpointsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.AppstreamStackAccessEndpointsList = AppstreamStackAccessEndpointsList;
_b = JSII_RTTI_SYMBOL_1;
AppstreamStackAccessEndpointsList[_b] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackAccessEndpointsList", version: "21.22.1" };
function appstreamStackApplicationSettingsToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
settings_group: cdktf.stringToTerraform(struct.settingsGroup),
};
}
function appstreamStackApplicationSettingsToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
settings_group: {
value: cdktf.stringToHclTerraform(struct.settingsGroup),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppstreamStackApplicationSettingsOutputReference 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._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
if (this._settingsGroup !== undefined) {
hasAnyValues = true;
internalValueResult.settingsGroup = this._settingsGroup;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
this._settingsGroup = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
this._settingsGroup = value.settingsGroup;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get settingsGroup() {
return this.getStringAttribute('settings_group');
}
set settingsGroup(value) {
this._settingsGroup = value;
}
resetSettingsGroup() {
this._settingsGroup = undefined;
}
// Temporarily expose input value. Use with caution.
get settingsGroupInput() {
return this._settingsGroup;
}
}
exports.AppstreamStackApplicationSettingsOutputReference = AppstreamStackApplicationSettingsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
AppstreamStackApplicationSettingsOutputReference[_c] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackApplicationSettingsOutputReference", version: "21.22.1" };
function appstreamStackStorageConnectorsToTerraform(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 {
connector_type: cdktf.stringToTerraform(struct.connectorType),
domains: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.domains),
resource_identifier: cdktf.stringToTerraform(struct.resourceIdentifier),
};
}
function appstreamStackStorageConnectorsToHclTerraform(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 = {
connector_type: {
value: cdktf.stringToHclTerraform(struct.connectorType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
domains: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.domains),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
resource_identifier: {
value: cdktf.stringToHclTerraform(struct.resourceIdentifier),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppstreamStackStorageConnectorsOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._connectorType !== undefined) {
hasAnyValues = true;
internalValueResult.connectorType = this._connectorType;
}
if (this._domains !== undefined) {
hasAnyValues = true;
internalValueResult.domains = this._domains;
}
if (this._resourceIdentifier !== undefined) {
hasAnyValues = true;
internalValueResult.resourceIdentifier = this._resourceIdentifier;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._connectorType = undefined;
this._domains = undefined;
this._resourceIdentifier = 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._connectorType = value.connectorType;
this._domains = value.domains;
this._resourceIdentifier = value.resourceIdentifier;
}
}
get connectorType() {
return this.getStringAttribute('connector_type');
}
set connectorType(value) {
this._connectorType = value;
}
// Temporarily expose input value. Use with caution.
get connectorTypeInput() {
return this._connectorType;
}
get domains() {
return this.getListAttribute('domains');
}
set domains(value) {
this._domains = value;
}
resetDomains() {
this._domains = undefined;
}
// Temporarily expose input value. Use with caution.
get domainsInput() {
return this._domains;
}
get resourceIdentifier() {
return this.getStringAttribute('resource_identifier');
}
set resourceIdentifier(value) {
this._resourceIdentifier = value;
}
resetResourceIdentifier() {
this._resourceIdentifier = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceIdentifierInput() {
return this._resourceIdentifier;
}
}
exports.AppstreamStackStorageConnectorsOutputReference = AppstreamStackStorageConnectorsOutputReference;
_d = JSII_RTTI_SYMBOL_1;
AppstreamStackStorageConnectorsOutputReference[_d] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackStorageConnectorsOutputReference", version: "21.22.1" };
class AppstreamStackStorageConnectorsList 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 AppstreamStackStorageConnectorsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.AppstreamStackStorageConnectorsList = AppstreamStackStorageConnectorsList;
_e = JSII_RTTI_SYMBOL_1;
AppstreamStackStorageConnectorsList[_e] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackStorageConnectorsList", version: "21.22.1" };
function appstreamStackStreamingExperienceSettingsToTerraform(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 {
preferred_protocol: cdktf.stringToTerraform(struct.preferredProtocol),
};
}
function appstreamStackStreamingExperienceSettingsToHclTerraform(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 = {
preferred_protocol: {
value: cdktf.stringToHclTerraform(struct.preferredProtocol),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppstreamStackStreamingExperienceSettingsOutputReference 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._preferredProtocol !== undefined) {
hasAnyValues = true;
internalValueResult.preferredProtocol = this._preferredProtocol;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._preferredProtocol = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._preferredProtocol = value.preferredProtocol;
}
}
get preferredProtocol() {
return this.getStringAttribute('preferred_protocol');
}
set preferredProtocol(value) {
this._preferredProtocol = value;
}
resetPreferredProtocol() {
this._preferredProtocol = undefined;
}
// Temporarily expose input value. Use with caution.
get preferredProtocolInput() {
return this._preferredProtocol;
}
}
exports.AppstreamStackStreamingExperienceSettingsOutputReference = AppstreamStackStreamingExperienceSettingsOutputReference;
_f = JSII_RTTI_SYMBOL_1;
AppstreamStackStreamingExperienceSettingsOutputReference[_f] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackStreamingExperienceSettingsOutputReference", version: "21.22.1" };
function appstreamStackUserSettingsToTerraform(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 {
action: cdktf.stringToTerraform(struct.action),
permission: cdktf.stringToTerraform(struct.permission),
};
}
function appstreamStackUserSettingsToHclTerraform(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 = {
action: {
value: cdktf.stringToHclTerraform(struct.action),
isBlock: false,
type: "simple",
storageClassType: "string",
},
permission: {
value: cdktf.stringToHclTerraform(struct.permission),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppstreamStackUserSettingsOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._action !== undefined) {
hasAnyValues = true;
internalValueResult.action = this._action;
}
if (this._permission !== undefined) {
hasAnyValues = true;
internalValueResult.permission = this._permission;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._action = undefined;
this._permission = 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._action = value.action;
this._permission = value.permission;
}
}
get action() {
return this.getStringAttribute('action');
}
set action(value) {
this._action = value;
}
// Temporarily expose input value. Use with caution.
get actionInput() {
return this._action;
}
get permission() {
return this.getStringAttribute('permission');
}
set permission(value) {
this._permission = value;
}
// Temporarily expose input value. Use with caution.
get permissionInput() {
return this._permission;
}
}
exports.AppstreamStackUserSettingsOutputReference = AppstreamStackUserSettingsOutputReference;
_g = JSII_RTTI_SYMBOL_1;
AppstreamStackUserSettingsOutputReference[_g] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackUserSettingsOutputReference", version: "21.22.1" };
class AppstreamStackUserSettingsList 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 AppstreamStackUserSettingsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.AppstreamStackUserSettingsList = AppstreamStackUserSettingsList;
_h = JSII_RTTI_SYMBOL_1;
AppstreamStackUserSettingsList[_h] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStackUserSettingsList", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/appstream_stack aws_appstream_stack}
*/
class AppstreamStack extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a AppstreamStack 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 AppstreamStack to import
* @param importFromId The id of the existing AppstreamStack that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/appstream_stack#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the AppstreamStack to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_appstream_stack", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/appstream_stack aws_appstream_stack} 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 AppstreamStackConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_appstream_stack',
terraformGeneratorMetadata: {
providerName: 'aws',
providerVersion: '6.25.0',
providerVersionConstraint: '~> 6.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// access_endpoints - computed: false, optional: true, required: false
this._accessEndpoints = new AppstreamStackAccessEndpointsList(this, "access_endpoints", true);
// application_settings - computed: false, optional: true, required: false
this._applicationSettings = new AppstreamStackApplicationSettingsOutputReference(this, "application_settings");
// storage_connectors - computed: false, optional: true, required: false
this._storageConnectors = new AppstreamStackStorageConnectorsList(this, "storage_connectors", true);
// streaming_experience_settings - computed: false, optional: true, required: false
this._streamingExperienceSettings = new AppstreamStackStreamingExperienceSettingsOutputReference(this, "streaming_experience_settings");
// user_settings - computed: false, optional: true, required: false
this._userSettings = new AppstreamStackUserSettingsList(this, "user_settings", true);
this._description = config.description;
this._displayName = config.displayName;
this._embedHostDomains = config.embedHostDomains;
this._feedbackUrl = config.feedbackUrl;
this._id = config.id;
this._name = config.name;
this._redirectUrl = config.redirectUrl;
this._region = config.region;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._accessEndpoints.internalValue = config.accessEndpoints;
this._applicationSettings.internalValue = config.applicationSettings;
this._storageConnectors.internalValue = config.storageConnectors;
this._streamingExperienceSettings.internalValue = config.streamingExperienceSettings;
this._userSettings.internalValue = config.userSettings;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
// created_time - computed: true, optional: false, required: false
get createdTime() {
return this.getStringAttribute('created_time');
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get displayName() {
return this.getStringAttribute('display_name');
}
set displayName(value) {
this._displayName = value;
}
resetDisplayName() {
this._displayName = undefined;
}
// Temporarily expose input value. Use with caution.
get displayNameInput() {
return this._displayName;
}
get embedHostDomains() {
return cdktf.Fn.tolist(this.getListAttribute('embed_host_domains'));
}
set embedHostDomains(value) {
this._embedHostDomains = value;
}
resetEmbedHostDomains() {
this._embedHostDomains = undefined;
}
// Temporarily expose input value. Use with caution.
get embedHostDomainsInput() {
return this._embedHostDomains;
}
get feedbackUrl() {
return this.getStringAttribute('feedback_url');
}
set feedbackUrl(value) {
this._feedbackUrl = value;
}
resetFeedbackUrl() {
this._feedbackUrl = undefined;
}
// Temporarily expose input value. Use with caution.
get feedbackUrlInput() {
return this._feedbackUrl;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get redirectUrl() {
return this.getStringAttribute('redirect_url');
}
set redirectUrl(value) {
this._redirectUrl = value;
}
resetRedirectUrl() {
this._redirectUrl = undefined;
}
// Temporarily expose input value. Use with caution.
get redirectUrlInput() {
return this._redirectUrl;
}
get region() {
return this.getStringAttribute('region');
}
set region(value) {
this._region = value;
}
resetRegion() {
this._region = undefined;
}
// Temporarily expose input value. Use with caution.
get regionInput() {
return this._region;
}
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 accessEndpoints() {
return this._accessEndpoints;
}
putAccessEndpoints(value) {
this._accessEndpoints.internalValue = value;
}
resetAccessEndpoints() {
this._accessEndpoints.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get accessEndpointsInput() {
return this._accessEndpoints.internalValue;
}
get applicationSettings() {
return this._applicationSettings;
}
putApplicationSettings(value) {
this._applicationSettings.internalValue = value;
}
resetApplicationSettings() {
this._applicationSettings.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get applicationSettingsInput() {
return this._applicationSettings.internalValue;
}
get storageConnectors() {
return this._storageConnectors;
}
putStorageConnectors(value) {
this._storageConnectors.internalValue = value;
}
resetStorageConnectors() {
this._storageConnectors.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get storageConnectorsInput() {
return this._storageConnectors.internalValue;
}
get streamingExperienceSettings() {
return this._streamingExperienceSettings;
}
putStreamingExperienceSettings(value) {
this._streamingExperienceSettings.internalValue = value;
}
resetStreamingExperienceSettings() {
this._streamingExperienceSettings.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get streamingExperienceSettingsInput() {
return this._streamingExperienceSettings.internalValue;
}
get userSettings() {
return this._userSettings;
}
putUserSettings(value) {
this._userSettings.internalValue = value;
}
resetUserSettings() {
this._userSettings.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get userSettingsInput() {
return this._userSettings.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
description: cdktf.stringToTerraform(this._description),
display_name: cdktf.stringToTerraform(this._displayName),
embed_host_domains: cdktf.listMapper(cdktf.stringToTerraform, false)(this._embedHostDomains),
feedback_url: cdktf.stringToTerraform(this._feedbackUrl),
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
redirect_url: cdktf.stringToTerraform(this._redirectUrl),
region: cdktf.stringToTerraform(this._region),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
access_endpoints: cdktf.listMapper(appstreamStackAccessEndpointsToTerraform, true)(this._accessEndpoints.internalValue),
application_settings: appstreamStackApplicationSettingsToTerraform(this._applicationSettings.internalValue),
storage_connectors: cdktf.listMapper(appstreamStackStorageConnectorsToTerraform, true)(this._storageConnectors.internalValue),
streaming_experience_settings: appstreamStackStreamingExperienceSettingsToTerraform(this._streamingExperienceSettings.internalValue),
user_settings: cdktf.listMapper(appstreamStackUserSettingsToTerraform, true)(this._userSettings.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
description: {
value: cdktf.stringToHclTerraform(this._description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
display_name: {
value: cdktf.stringToHclTerraform(this._displayName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
embed_host_domains: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._embedHostDomains),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
feedback_url: {
value: cdktf.stringToHclTerraform(this._feedbackUrl),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
redirect_url: {
value: cdktf.stringToHclTerraform(this._redirectUrl),
isBlock: false,
type: "simple",
storageClassType: "string",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
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",
},
access_endpoints: {
value: cdktf.listMapperHcl(appstreamStackAccessEndpointsToHclTerraform, true)(this._accessEndpoints.internalValue),
isBlock: true,
type: "set",
storageClassType: "AppstreamStackAccessEndpointsList",
},
application_settings: {
value: appstreamStackApplicationSettingsToHclTerraform(this._applicationSettings.internalValue),
isBlock: true,
type: "list",
storageClassType: "AppstreamStackApplicationSettingsList",
},
storage_connectors: {
value: cdktf.listMapperHcl(appstreamStackStorageConnectorsToHclTerraform, true)(this._storageConnectors.internalValue),
isBlock: true,
type: "set",
storageClassType: "AppstreamStackStorageConnectorsList",
},
streaming_experience_settings: {
value: appstreamStackStreamingExperienceSettingsToHclTerraform(this._streamingExperienceSettings.internalValue),
isBlock: true,
type: "list",
storageClassType: "AppstreamStackStreamingExperienceSettingsList",
},
user_settings: {
value: cdktf.listMapperHcl(appstreamStackUserSettingsToHclTerraform, true)(this._userSettings.internalValue),
isBlock: true,
type: "set",
storageClassType: "AppstreamStackUserSettingsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.AppstreamStack = AppstreamStack;
_j = JSII_RTTI_SYMBOL_1;
AppstreamStack[_j] = { fqn: "@cdktf/provider-aws.appstreamStack.AppstreamStack", version: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
AppstreamStack.tfResourceType = "aws_appstream_stack";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwc3RyZWFtLXN0YWNrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFxR0EsNEZBU0M7QUFHRCxrR0FzQkM7QUFnSEQsb0dBU0M7QUFHRCwwR0FzQkM7QUFvRkQsZ0dBVUM7QUFHRCxzR0E0QkM7QUFrSUQsb0hBUUM7QUFHRCwwSEFnQkM7QUE2REQsc0ZBU0M7QUFHRCw0RkFzQkM7O0FBem9CRCwrQkFBK0I7QUE0Ri9CLFNBQWdCLHdDQUF3QyxDQUFDLE1BQTBEO0lBQ2pILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxhQUFhLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxZQUFZLENBQUM7UUFDNUQsT0FBTyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO0tBQ2pELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsMkNBQTJDLENBQUMsTUFBMEQ7SUFDcEgsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFB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