directory_configs
Creates, updates, deletes or gets a directory_config resource or lists directory_configs in a region
Overview
| Name | directory_configs |
| Type | Resource |
| Description | Resource Type definition for AWS::AppStream::DirectoryConfig |
| Id | awscc.appstream.directory_configs |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
organizational_unit_distinguished_names | array | |
service_account_credentials | object | |
directory_name | string | |
certificate_based_auth_properties | object | |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
directory_name | string | |
region | string | AWS region. |
For more information, see AWS::AppStream::DirectoryConfig.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | directory_configs | INSERT | DirectoryName, OrganizationalUnitDistinguishedNames, ServiceAccountCredentials, region |
delete_resource | directory_configs | DELETE | Identifier, region |
update_resource | directory_configs | UPDATE | Identifier, PatchDocument, region |
list_resources | directory_configs_list_only | SELECT | region |
get_resource | directory_configs | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual directory_config.
SELECT
region,
organizational_unit_distinguished_names,
service_account_credentials,
directory_name,
certificate_based_auth_properties
FROM awscc.appstream.directory_configs
WHERE
region = 'us-east-1' AND
Identifier = '{{ directory_name }}';
Lists all directory_configs in a region.
SELECT
region,
directory_name
FROM awscc.appstream.directory_configs_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new directory_config resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.appstream.directory_configs (
OrganizationalUnitDistinguishedNames,
ServiceAccountCredentials,
DirectoryName,
region
)
SELECT
'{{ organizational_unit_distinguished_names }}',
'{{ service_account_credentials }}',
'{{ directory_name }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.appstream.directory_configs (
OrganizationalUnitDistinguishedNames,
ServiceAccountCredentials,
DirectoryName,
CertificateBasedAuthProperties,
region
)
SELECT
'{{ organizational_unit_distinguished_names }}',
'{{ service_account_credentials }}',
'{{ directory_name }}',
'{{ certificate_based_auth_properties }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: directory_config
props:
- name: organizational_unit_distinguished_names
value:
- '{{ organizational_unit_distinguished_names[0] }}'
- name: service_account_credentials
value:
account_name: '{{ account_name }}'
account_password: '{{ account_password }}'
- name: directory_name
value: '{{ directory_name }}'
- name: certificate_based_auth_properties
value:
status: '{{ status }}'
certificate_authority_arn: '{{ certificate_authority_arn }}'
UPDATE example
Use the following StackQL query and manifest file to update a directory_config resource, using stack-deploy.
/*+ update */
UPDATE awscc.appstream.directory_configs
SET PatchDocument = string('{{ {
"OrganizationalUnitDistinguishedNames": organizational_unit_distinguished_names,
"ServiceAccountCredentials": service_account_credentials,
"CertificateBasedAuthProperties": certificate_based_auth_properties
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ directory_name }}';
DELETE example
/*+ delete */
DELETE FROM awscc.appstream.directory_configs
WHERE
Identifier = '{{ directory_name }}' AND
region = 'us-east-1';
Permissions
To operate on the directory_configs resource, the following permissions are required:
- Create
- Update
- Read
- Delete
- List
appstream:CreateDirectoryConfig,
appstream:DeleteDirectoryConfig,
appstream:DescribeDirectoryConfigs,
appstream:UpdateDirectoryConfig,
iam:CreateServiceLinkedRole,
iam:DeleteServiceLinkedRole,
iam:GetServiceLinkedRoleDeletionStatus
appstream:CreateDirectoryConfig,
appstream:DeleteDirectoryConfig,
appstream:DescribeDirectoryConfigs,
appstream:UpdateDirectoryConfig,
iam:CreateServiceLinkedRole,
iam:DeleteServiceLinkedRole,
iam:GetServiceLinkedRoleDeletionStatus
appstream:CreateDirectoryConfig,
appstream:DeleteDirectoryConfig,
appstream:DescribeDirectoryConfigs,
appstream:UpdateDirectoryConfig,
iam:CreateServiceLinkedRole,
iam:DeleteServiceLinkedRole,
iam:GetServiceLinkedRoleDeletionStatus
appstream:CreateDirectoryConfig,
appstream:DeleteDirectoryConfig,
appstream:DescribeDirectoryConfigs,
appstream:UpdateDirectoryConfig,
iam:CreateServiceLinkedRole,
iam:DeleteServiceLinkedRole,
iam:GetServiceLinkedRoleDeletionStatus
appstream:CreateDirectoryConfig,
appstream:DeleteDirectoryConfig,
appstream:DescribeDirectoryConfigs,
appstream:UpdateDirectoryConfig,
iam:CreateServiceLinkedRole,
iam:DeleteServiceLinkedRole,
iam:GetServiceLinkedRoleDeletionStatus