github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appstream/directoryConfig.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package appstream 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an AppStream Directory Config. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := appstream.NewDirectoryConfig(ctx, "example", &appstream.DirectoryConfigArgs{ 33 // DirectoryName: pulumi.String("NAME OF DIRECTORY"), 34 // OrganizationalUnitDistinguishedNames: pulumi.StringArray{ 35 // pulumi.String("DISTINGUISHED NAME"), 36 // }, 37 // ServiceAccountCredentials: &appstream.DirectoryConfigServiceAccountCredentialsArgs{ 38 // AccountName: pulumi.String("NAME OF ACCOUNT"), 39 // AccountPassword: pulumi.String("PASSWORD OF ACCOUNT"), 40 // }, 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // return nil 46 // }) 47 // } 48 // 49 // ``` 50 // <!--End PulumiCodeChooser --> 51 // 52 // ## Import 53 // 54 // Using `pulumi import`, import `aws_appstream_directory_config` using the id. For example: 55 // 56 // ```sh 57 // $ pulumi import aws:appstream/directoryConfig:DirectoryConfig example directoryNameExample 58 // ``` 59 type DirectoryConfig struct { 60 pulumi.CustomResourceState 61 62 // Date and time, in UTC and extended RFC 3339 format, when the directory config was created. 63 CreatedTime pulumi.StringOutput `pulumi:"createdTime"` 64 // Fully qualified name of the directory. 65 DirectoryName pulumi.StringOutput `pulumi:"directoryName"` 66 // Distinguished names of the organizational units for computer accounts. 67 OrganizationalUnitDistinguishedNames pulumi.StringArrayOutput `pulumi:"organizationalUnitDistinguishedNames"` 68 // Configuration block for the name of the directory and organizational unit (OU) to use to join the directory config to a Microsoft Active Directory domain. See `serviceAccountCredentials` below. 69 ServiceAccountCredentials DirectoryConfigServiceAccountCredentialsOutput `pulumi:"serviceAccountCredentials"` 70 } 71 72 // NewDirectoryConfig registers a new resource with the given unique name, arguments, and options. 73 func NewDirectoryConfig(ctx *pulumi.Context, 74 name string, args *DirectoryConfigArgs, opts ...pulumi.ResourceOption) (*DirectoryConfig, error) { 75 if args == nil { 76 return nil, errors.New("missing one or more required arguments") 77 } 78 79 if args.DirectoryName == nil { 80 return nil, errors.New("invalid value for required argument 'DirectoryName'") 81 } 82 if args.OrganizationalUnitDistinguishedNames == nil { 83 return nil, errors.New("invalid value for required argument 'OrganizationalUnitDistinguishedNames'") 84 } 85 if args.ServiceAccountCredentials == nil { 86 return nil, errors.New("invalid value for required argument 'ServiceAccountCredentials'") 87 } 88 opts = internal.PkgResourceDefaultOpts(opts) 89 var resource DirectoryConfig 90 err := ctx.RegisterResource("aws:appstream/directoryConfig:DirectoryConfig", name, args, &resource, opts...) 91 if err != nil { 92 return nil, err 93 } 94 return &resource, nil 95 } 96 97 // GetDirectoryConfig gets an existing DirectoryConfig resource's state with the given name, ID, and optional 98 // state properties that are used to uniquely qualify the lookup (nil if not required). 99 func GetDirectoryConfig(ctx *pulumi.Context, 100 name string, id pulumi.IDInput, state *DirectoryConfigState, opts ...pulumi.ResourceOption) (*DirectoryConfig, error) { 101 var resource DirectoryConfig 102 err := ctx.ReadResource("aws:appstream/directoryConfig:DirectoryConfig", name, id, state, &resource, opts...) 103 if err != nil { 104 return nil, err 105 } 106 return &resource, nil 107 } 108 109 // Input properties used for looking up and filtering DirectoryConfig resources. 110 type directoryConfigState struct { 111 // Date and time, in UTC and extended RFC 3339 format, when the directory config was created. 112 CreatedTime *string `pulumi:"createdTime"` 113 // Fully qualified name of the directory. 114 DirectoryName *string `pulumi:"directoryName"` 115 // Distinguished names of the organizational units for computer accounts. 116 OrganizationalUnitDistinguishedNames []string `pulumi:"organizationalUnitDistinguishedNames"` 117 // Configuration block for the name of the directory and organizational unit (OU) to use to join the directory config to a Microsoft Active Directory domain. See `serviceAccountCredentials` below. 118 ServiceAccountCredentials *DirectoryConfigServiceAccountCredentials `pulumi:"serviceAccountCredentials"` 119 } 120 121 type DirectoryConfigState struct { 122 // Date and time, in UTC and extended RFC 3339 format, when the directory config was created. 123 CreatedTime pulumi.StringPtrInput 124 // Fully qualified name of the directory. 125 DirectoryName pulumi.StringPtrInput 126 // Distinguished names of the organizational units for computer accounts. 127 OrganizationalUnitDistinguishedNames pulumi.StringArrayInput 128 // Configuration block for the name of the directory and organizational unit (OU) to use to join the directory config to a Microsoft Active Directory domain. See `serviceAccountCredentials` below. 129 ServiceAccountCredentials DirectoryConfigServiceAccountCredentialsPtrInput 130 } 131 132 func (DirectoryConfigState) ElementType() reflect.Type { 133 return reflect.TypeOf((*directoryConfigState)(nil)).Elem() 134 } 135 136 type directoryConfigArgs struct { 137 // Fully qualified name of the directory. 138 DirectoryName string `pulumi:"directoryName"` 139 // Distinguished names of the organizational units for computer accounts. 140 OrganizationalUnitDistinguishedNames []string `pulumi:"organizationalUnitDistinguishedNames"` 141 // Configuration block for the name of the directory and organizational unit (OU) to use to join the directory config to a Microsoft Active Directory domain. See `serviceAccountCredentials` below. 142 ServiceAccountCredentials DirectoryConfigServiceAccountCredentials `pulumi:"serviceAccountCredentials"` 143 } 144 145 // The set of arguments for constructing a DirectoryConfig resource. 146 type DirectoryConfigArgs struct { 147 // Fully qualified name of the directory. 148 DirectoryName pulumi.StringInput 149 // Distinguished names of the organizational units for computer accounts. 150 OrganizationalUnitDistinguishedNames pulumi.StringArrayInput 151 // Configuration block for the name of the directory and organizational unit (OU) to use to join the directory config to a Microsoft Active Directory domain. See `serviceAccountCredentials` below. 152 ServiceAccountCredentials DirectoryConfigServiceAccountCredentialsInput 153 } 154 155 func (DirectoryConfigArgs) ElementType() reflect.Type { 156 return reflect.TypeOf((*directoryConfigArgs)(nil)).Elem() 157 } 158 159 type DirectoryConfigInput interface { 160 pulumi.Input 161 162 ToDirectoryConfigOutput() DirectoryConfigOutput 163 ToDirectoryConfigOutputWithContext(ctx context.Context) DirectoryConfigOutput 164 } 165 166 func (*DirectoryConfig) ElementType() reflect.Type { 167 return reflect.TypeOf((**DirectoryConfig)(nil)).Elem() 168 } 169 170 func (i *DirectoryConfig) ToDirectoryConfigOutput() DirectoryConfigOutput { 171 return i.ToDirectoryConfigOutputWithContext(context.Background()) 172 } 173 174 func (i *DirectoryConfig) ToDirectoryConfigOutputWithContext(ctx context.Context) DirectoryConfigOutput { 175 return pulumi.ToOutputWithContext(ctx, i).(DirectoryConfigOutput) 176 } 177 178 // DirectoryConfigArrayInput is an input type that accepts DirectoryConfigArray and DirectoryConfigArrayOutput values. 179 // You can construct a concrete instance of `DirectoryConfigArrayInput` via: 180 // 181 // DirectoryConfigArray{ DirectoryConfigArgs{...} } 182 type DirectoryConfigArrayInput interface { 183 pulumi.Input 184 185 ToDirectoryConfigArrayOutput() DirectoryConfigArrayOutput 186 ToDirectoryConfigArrayOutputWithContext(context.Context) DirectoryConfigArrayOutput 187 } 188 189 type DirectoryConfigArray []DirectoryConfigInput 190 191 func (DirectoryConfigArray) ElementType() reflect.Type { 192 return reflect.TypeOf((*[]*DirectoryConfig)(nil)).Elem() 193 } 194 195 func (i DirectoryConfigArray) ToDirectoryConfigArrayOutput() DirectoryConfigArrayOutput { 196 return i.ToDirectoryConfigArrayOutputWithContext(context.Background()) 197 } 198 199 func (i DirectoryConfigArray) ToDirectoryConfigArrayOutputWithContext(ctx context.Context) DirectoryConfigArrayOutput { 200 return pulumi.ToOutputWithContext(ctx, i).(DirectoryConfigArrayOutput) 201 } 202 203 // DirectoryConfigMapInput is an input type that accepts DirectoryConfigMap and DirectoryConfigMapOutput values. 204 // You can construct a concrete instance of `DirectoryConfigMapInput` via: 205 // 206 // DirectoryConfigMap{ "key": DirectoryConfigArgs{...} } 207 type DirectoryConfigMapInput interface { 208 pulumi.Input 209 210 ToDirectoryConfigMapOutput() DirectoryConfigMapOutput 211 ToDirectoryConfigMapOutputWithContext(context.Context) DirectoryConfigMapOutput 212 } 213 214 type DirectoryConfigMap map[string]DirectoryConfigInput 215 216 func (DirectoryConfigMap) ElementType() reflect.Type { 217 return reflect.TypeOf((*map[string]*DirectoryConfig)(nil)).Elem() 218 } 219 220 func (i DirectoryConfigMap) ToDirectoryConfigMapOutput() DirectoryConfigMapOutput { 221 return i.ToDirectoryConfigMapOutputWithContext(context.Background()) 222 } 223 224 func (i DirectoryConfigMap) ToDirectoryConfigMapOutputWithContext(ctx context.Context) DirectoryConfigMapOutput { 225 return pulumi.ToOutputWithContext(ctx, i).(DirectoryConfigMapOutput) 226 } 227 228 type DirectoryConfigOutput struct{ *pulumi.OutputState } 229 230 func (DirectoryConfigOutput) ElementType() reflect.Type { 231 return reflect.TypeOf((**DirectoryConfig)(nil)).Elem() 232 } 233 234 func (o DirectoryConfigOutput) ToDirectoryConfigOutput() DirectoryConfigOutput { 235 return o 236 } 237 238 func (o DirectoryConfigOutput) ToDirectoryConfigOutputWithContext(ctx context.Context) DirectoryConfigOutput { 239 return o 240 } 241 242 // Date and time, in UTC and extended RFC 3339 format, when the directory config was created. 243 func (o DirectoryConfigOutput) CreatedTime() pulumi.StringOutput { 244 return o.ApplyT(func(v *DirectoryConfig) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) 245 } 246 247 // Fully qualified name of the directory. 248 func (o DirectoryConfigOutput) DirectoryName() pulumi.StringOutput { 249 return o.ApplyT(func(v *DirectoryConfig) pulumi.StringOutput { return v.DirectoryName }).(pulumi.StringOutput) 250 } 251 252 // Distinguished names of the organizational units for computer accounts. 253 func (o DirectoryConfigOutput) OrganizationalUnitDistinguishedNames() pulumi.StringArrayOutput { 254 return o.ApplyT(func(v *DirectoryConfig) pulumi.StringArrayOutput { return v.OrganizationalUnitDistinguishedNames }).(pulumi.StringArrayOutput) 255 } 256 257 // Configuration block for the name of the directory and organizational unit (OU) to use to join the directory config to a Microsoft Active Directory domain. See `serviceAccountCredentials` below. 258 func (o DirectoryConfigOutput) ServiceAccountCredentials() DirectoryConfigServiceAccountCredentialsOutput { 259 return o.ApplyT(func(v *DirectoryConfig) DirectoryConfigServiceAccountCredentialsOutput { 260 return v.ServiceAccountCredentials 261 }).(DirectoryConfigServiceAccountCredentialsOutput) 262 } 263 264 type DirectoryConfigArrayOutput struct{ *pulumi.OutputState } 265 266 func (DirectoryConfigArrayOutput) ElementType() reflect.Type { 267 return reflect.TypeOf((*[]*DirectoryConfig)(nil)).Elem() 268 } 269 270 func (o DirectoryConfigArrayOutput) ToDirectoryConfigArrayOutput() DirectoryConfigArrayOutput { 271 return o 272 } 273 274 func (o DirectoryConfigArrayOutput) ToDirectoryConfigArrayOutputWithContext(ctx context.Context) DirectoryConfigArrayOutput { 275 return o 276 } 277 278 func (o DirectoryConfigArrayOutput) Index(i pulumi.IntInput) DirectoryConfigOutput { 279 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectoryConfig { 280 return vs[0].([]*DirectoryConfig)[vs[1].(int)] 281 }).(DirectoryConfigOutput) 282 } 283 284 type DirectoryConfigMapOutput struct{ *pulumi.OutputState } 285 286 func (DirectoryConfigMapOutput) ElementType() reflect.Type { 287 return reflect.TypeOf((*map[string]*DirectoryConfig)(nil)).Elem() 288 } 289 290 func (o DirectoryConfigMapOutput) ToDirectoryConfigMapOutput() DirectoryConfigMapOutput { 291 return o 292 } 293 294 func (o DirectoryConfigMapOutput) ToDirectoryConfigMapOutputWithContext(ctx context.Context) DirectoryConfigMapOutput { 295 return o 296 } 297 298 func (o DirectoryConfigMapOutput) MapIndex(k pulumi.StringInput) DirectoryConfigOutput { 299 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectoryConfig { 300 return vs[0].(map[string]*DirectoryConfig)[vs[1].(string)] 301 }).(DirectoryConfigOutput) 302 } 303 304 func init() { 305 pulumi.RegisterInputType(reflect.TypeOf((*DirectoryConfigInput)(nil)).Elem(), &DirectoryConfig{}) 306 pulumi.RegisterInputType(reflect.TypeOf((*DirectoryConfigArrayInput)(nil)).Elem(), DirectoryConfigArray{}) 307 pulumi.RegisterInputType(reflect.TypeOf((*DirectoryConfigMapInput)(nil)).Elem(), DirectoryConfigMap{}) 308 pulumi.RegisterOutputType(DirectoryConfigOutput{}) 309 pulumi.RegisterOutputType(DirectoryConfigArrayOutput{}) 310 pulumi.RegisterOutputType(DirectoryConfigMapOutput{}) 311 }