import * as core from "@terrascript/core"; export interface TargetArgs extends core.SchemaArgs { id: string | core.StringOut; type?: string | core.StringOut; } export class Target extends core.Schema { @core.attr(String) public id!: string | core.StringOut; @core.attr(String) public type?: string | core.StringOut; } export interface DirectoryServiceSharedDirectoryArgs extends core.ResourceArgs { /** * (Required) Identifier of the Managed Microsoft AD directory that you want to share with other accoun * ts. */ directoryId: string | core.StringOut; /** * (Optional) Method used when sharing a directory. Valid values are `ORGANIZATIONS` and `HANDSHAKE`. D * efault is `HANDSHAKE`. */ method?: string | core.StringOut; /** * (Optional, Sensitive) Message sent by the directory owner to the directory consumer to help the dire * ctory consumer administrator determine whether to approve or reject the share invitation. */ notes?: string | core.StringOut; /** * (Required) Identifier for the directory consumer account with whom the directory is to be shared. Se * e below. */ target: Target; } export class DirectoryServiceSharedDirectory extends core.Resource { /** * (Required) Identifier of the Managed Microsoft AD directory that you want to share with other accoun * ts. */ @core.attr(String) public directoryId!: string | core.StringOut; /** * (Required) Identifier of the directory consumer account. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Method used when sharing a directory. Valid values are `ORGANIZATIONS` and `HANDSHAKE`. D * efault is `HANDSHAKE`. */ @core.attr(String) public method?: string | core.StringOut; /** * (Optional, Sensitive) Message sent by the directory owner to the directory consumer to help the dire * ctory consumer administrator determine whether to approve or reject the share invitation. */ @core.attr(String) public notes?: string | core.StringOut; /** * Identifier of the directory that is stored in the directory consumer account that corresponds to the * shared directory in the owner account. */ @core.attr(String, { computed: true }) public sharedDirectoryId!: string | core.StringOut; /** * (Required) Identifier for the directory consumer account with whom the directory is to be shared. Se * e below. */ @core.attr(Target) public target!: Target; constructor(name: string, args?: DirectoryServiceSharedDirectoryArgs) { super(name, "aws_directory_service_shared_directory", args); } public override getNamespace(): string { return "aws_ds"; } }