github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/directoryservice/trust.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 directoryservice 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 // Manages a trust relationship between two Active Directory Directories. 16 // 17 // The directories may either be both AWS Managed Microsoft AD domains or an AWS Managed Microsoft AD domain and a self-managed Active Directory Domain. 18 // 19 // The Trust relationship must be configured on both sides of the relationship. 20 // If a Trust has only been created on one side, it will be in the state `VerifyFailed`. 21 // Once the second Trust is created, the first will update to the correct state. 22 // 23 // ## Example Usage 24 // 25 // ### Two-Way Trust 26 // 27 // <!--Start PulumiCodeChooser --> 28 // ```go 29 // package main 30 // 31 // import ( 32 // 33 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice" 34 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 35 // 36 // ) 37 // 38 // func main() { 39 // pulumi.Run(func(ctx *pulumi.Context) error { 40 // oneDirectory, err := directoryservice.NewDirectory(ctx, "one", &directoryservice.DirectoryArgs{ 41 // Name: pulumi.String("one.example.com"), 42 // Type: pulumi.String("MicrosoftAD"), 43 // }) 44 // if err != nil { 45 // return err 46 // } 47 // twoDirectory, err := directoryservice.NewDirectory(ctx, "two", &directoryservice.DirectoryArgs{ 48 // Name: pulumi.String("two.example.com"), 49 // Type: pulumi.String("MicrosoftAD"), 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // _, err = directoryservice.NewTrust(ctx, "one", &directoryservice.TrustArgs{ 55 // DirectoryId: oneDirectory.ID(), 56 // RemoteDomainName: twoDirectory.Name, 57 // TrustDirection: pulumi.String("Two-Way"), 58 // TrustPassword: pulumi.String("Some0therPassword"), 59 // ConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses, 60 // }) 61 // if err != nil { 62 // return err 63 // } 64 // _, err = directoryservice.NewTrust(ctx, "two", &directoryservice.TrustArgs{ 65 // DirectoryId: twoDirectory.ID(), 66 // RemoteDomainName: oneDirectory.Name, 67 // TrustDirection: pulumi.String("Two-Way"), 68 // TrustPassword: pulumi.String("Some0therPassword"), 69 // ConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses, 70 // }) 71 // if err != nil { 72 // return err 73 // } 74 // return nil 75 // }) 76 // } 77 // 78 // ``` 79 // <!--End PulumiCodeChooser --> 80 // 81 // ### One-Way Trust 82 // 83 // <!--Start PulumiCodeChooser --> 84 // ```go 85 // package main 86 // 87 // import ( 88 // 89 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice" 90 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 91 // 92 // ) 93 // 94 // func main() { 95 // pulumi.Run(func(ctx *pulumi.Context) error { 96 // oneDirectory, err := directoryservice.NewDirectory(ctx, "one", &directoryservice.DirectoryArgs{ 97 // Name: pulumi.String("one.example.com"), 98 // Type: pulumi.String("MicrosoftAD"), 99 // }) 100 // if err != nil { 101 // return err 102 // } 103 // twoDirectory, err := directoryservice.NewDirectory(ctx, "two", &directoryservice.DirectoryArgs{ 104 // Name: pulumi.String("two.example.com"), 105 // Type: pulumi.String("MicrosoftAD"), 106 // }) 107 // if err != nil { 108 // return err 109 // } 110 // _, err = directoryservice.NewTrust(ctx, "one", &directoryservice.TrustArgs{ 111 // DirectoryId: oneDirectory.ID(), 112 // RemoteDomainName: twoDirectory.Name, 113 // TrustDirection: pulumi.String("One-Way: Incoming"), 114 // TrustPassword: pulumi.String("Some0therPassword"), 115 // ConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses, 116 // }) 117 // if err != nil { 118 // return err 119 // } 120 // _, err = directoryservice.NewTrust(ctx, "two", &directoryservice.TrustArgs{ 121 // DirectoryId: twoDirectory.ID(), 122 // RemoteDomainName: oneDirectory.Name, 123 // TrustDirection: pulumi.String("One-Way: Outgoing"), 124 // TrustPassword: pulumi.String("Some0therPassword"), 125 // ConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses, 126 // }) 127 // if err != nil { 128 // return err 129 // } 130 // return nil 131 // }) 132 // } 133 // 134 // ``` 135 // <!--End PulumiCodeChooser --> 136 // 137 // ## Import 138 // 139 // Using `pulumi import`, import the Trust relationship using the directory ID and remote domain name, separated by a `/`. For example: 140 // 141 // ```sh 142 // $ pulumi import aws:directoryservice/trust:Trust example d-926724cf57/directory.example.com 143 // ``` 144 type Trust struct { 145 pulumi.CustomResourceState 146 147 // Set of IPv4 addresses for the DNS server associated with the remote Directory. 148 // Can contain between 1 and 4 values. 149 ConditionalForwarderIpAddrs pulumi.StringArrayOutput `pulumi:"conditionalForwarderIpAddrs"` 150 // Date and time when the Trust was created. 151 CreatedDateTime pulumi.StringOutput `pulumi:"createdDateTime"` 152 // Whether to delete the conditional forwarder when deleting the Trust relationship. 153 DeleteAssociatedConditionalForwarder pulumi.BoolOutput `pulumi:"deleteAssociatedConditionalForwarder"` 154 // ID of the Directory. 155 DirectoryId pulumi.StringOutput `pulumi:"directoryId"` 156 // Date and time when the Trust was last updated. 157 LastUpdatedDateTime pulumi.StringOutput `pulumi:"lastUpdatedDateTime"` 158 // Fully qualified domain name of the remote Directory. 159 RemoteDomainName pulumi.StringOutput `pulumi:"remoteDomainName"` 160 // Whether to enable selective authentication. 161 // Valid values are `Enabled` and `Disabled`. 162 // Default value is `Disabled`. 163 SelectiveAuth pulumi.StringOutput `pulumi:"selectiveAuth"` 164 // Date and time when the Trust state in `trustState` was last updated. 165 StateLastUpdatedDateTime pulumi.StringOutput `pulumi:"stateLastUpdatedDateTime"` 166 // The direction of the Trust relationship. 167 // Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`. 168 TrustDirection pulumi.StringOutput `pulumi:"trustDirection"` 169 // Password for the Trust. 170 // Does not need to match the passwords for either Directory. 171 // Can contain upper- and lower-case letters, numbers, and punctuation characters. 172 // May be up to 128 characters long. 173 TrustPassword pulumi.StringOutput `pulumi:"trustPassword"` 174 // State of the Trust relationship. 175 // One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`. 176 TrustState pulumi.StringOutput `pulumi:"trustState"` 177 // Reason for the Trust state set in `trustState`. 178 TrustStateReason pulumi.StringOutput `pulumi:"trustStateReason"` 179 // Type of the Trust relationship. 180 // Valid values are `Forest` and `External`. 181 // Default value is `Forest`. 182 TrustType pulumi.StringOutput `pulumi:"trustType"` 183 } 184 185 // NewTrust registers a new resource with the given unique name, arguments, and options. 186 func NewTrust(ctx *pulumi.Context, 187 name string, args *TrustArgs, opts ...pulumi.ResourceOption) (*Trust, error) { 188 if args == nil { 189 return nil, errors.New("missing one or more required arguments") 190 } 191 192 if args.DirectoryId == nil { 193 return nil, errors.New("invalid value for required argument 'DirectoryId'") 194 } 195 if args.RemoteDomainName == nil { 196 return nil, errors.New("invalid value for required argument 'RemoteDomainName'") 197 } 198 if args.TrustDirection == nil { 199 return nil, errors.New("invalid value for required argument 'TrustDirection'") 200 } 201 if args.TrustPassword == nil { 202 return nil, errors.New("invalid value for required argument 'TrustPassword'") 203 } 204 opts = internal.PkgResourceDefaultOpts(opts) 205 var resource Trust 206 err := ctx.RegisterResource("aws:directoryservice/trust:Trust", name, args, &resource, opts...) 207 if err != nil { 208 return nil, err 209 } 210 return &resource, nil 211 } 212 213 // GetTrust gets an existing Trust resource's state with the given name, ID, and optional 214 // state properties that are used to uniquely qualify the lookup (nil if not required). 215 func GetTrust(ctx *pulumi.Context, 216 name string, id pulumi.IDInput, state *TrustState, opts ...pulumi.ResourceOption) (*Trust, error) { 217 var resource Trust 218 err := ctx.ReadResource("aws:directoryservice/trust:Trust", name, id, state, &resource, opts...) 219 if err != nil { 220 return nil, err 221 } 222 return &resource, nil 223 } 224 225 // Input properties used for looking up and filtering Trust resources. 226 type trustState struct { 227 // Set of IPv4 addresses for the DNS server associated with the remote Directory. 228 // Can contain between 1 and 4 values. 229 ConditionalForwarderIpAddrs []string `pulumi:"conditionalForwarderIpAddrs"` 230 // Date and time when the Trust was created. 231 CreatedDateTime *string `pulumi:"createdDateTime"` 232 // Whether to delete the conditional forwarder when deleting the Trust relationship. 233 DeleteAssociatedConditionalForwarder *bool `pulumi:"deleteAssociatedConditionalForwarder"` 234 // ID of the Directory. 235 DirectoryId *string `pulumi:"directoryId"` 236 // Date and time when the Trust was last updated. 237 LastUpdatedDateTime *string `pulumi:"lastUpdatedDateTime"` 238 // Fully qualified domain name of the remote Directory. 239 RemoteDomainName *string `pulumi:"remoteDomainName"` 240 // Whether to enable selective authentication. 241 // Valid values are `Enabled` and `Disabled`. 242 // Default value is `Disabled`. 243 SelectiveAuth *string `pulumi:"selectiveAuth"` 244 // Date and time when the Trust state in `trustState` was last updated. 245 StateLastUpdatedDateTime *string `pulumi:"stateLastUpdatedDateTime"` 246 // The direction of the Trust relationship. 247 // Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`. 248 TrustDirection *string `pulumi:"trustDirection"` 249 // Password for the Trust. 250 // Does not need to match the passwords for either Directory. 251 // Can contain upper- and lower-case letters, numbers, and punctuation characters. 252 // May be up to 128 characters long. 253 TrustPassword *string `pulumi:"trustPassword"` 254 // State of the Trust relationship. 255 // One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`. 256 TrustState *string `pulumi:"trustState"` 257 // Reason for the Trust state set in `trustState`. 258 TrustStateReason *string `pulumi:"trustStateReason"` 259 // Type of the Trust relationship. 260 // Valid values are `Forest` and `External`. 261 // Default value is `Forest`. 262 TrustType *string `pulumi:"trustType"` 263 } 264 265 type TrustState struct { 266 // Set of IPv4 addresses for the DNS server associated with the remote Directory. 267 // Can contain between 1 and 4 values. 268 ConditionalForwarderIpAddrs pulumi.StringArrayInput 269 // Date and time when the Trust was created. 270 CreatedDateTime pulumi.StringPtrInput 271 // Whether to delete the conditional forwarder when deleting the Trust relationship. 272 DeleteAssociatedConditionalForwarder pulumi.BoolPtrInput 273 // ID of the Directory. 274 DirectoryId pulumi.StringPtrInput 275 // Date and time when the Trust was last updated. 276 LastUpdatedDateTime pulumi.StringPtrInput 277 // Fully qualified domain name of the remote Directory. 278 RemoteDomainName pulumi.StringPtrInput 279 // Whether to enable selective authentication. 280 // Valid values are `Enabled` and `Disabled`. 281 // Default value is `Disabled`. 282 SelectiveAuth pulumi.StringPtrInput 283 // Date and time when the Trust state in `trustState` was last updated. 284 StateLastUpdatedDateTime pulumi.StringPtrInput 285 // The direction of the Trust relationship. 286 // Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`. 287 TrustDirection pulumi.StringPtrInput 288 // Password for the Trust. 289 // Does not need to match the passwords for either Directory. 290 // Can contain upper- and lower-case letters, numbers, and punctuation characters. 291 // May be up to 128 characters long. 292 TrustPassword pulumi.StringPtrInput 293 // State of the Trust relationship. 294 // One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`. 295 TrustState pulumi.StringPtrInput 296 // Reason for the Trust state set in `trustState`. 297 TrustStateReason pulumi.StringPtrInput 298 // Type of the Trust relationship. 299 // Valid values are `Forest` and `External`. 300 // Default value is `Forest`. 301 TrustType pulumi.StringPtrInput 302 } 303 304 func (TrustState) ElementType() reflect.Type { 305 return reflect.TypeOf((*trustState)(nil)).Elem() 306 } 307 308 type trustArgs struct { 309 // Set of IPv4 addresses for the DNS server associated with the remote Directory. 310 // Can contain between 1 and 4 values. 311 ConditionalForwarderIpAddrs []string `pulumi:"conditionalForwarderIpAddrs"` 312 // Whether to delete the conditional forwarder when deleting the Trust relationship. 313 DeleteAssociatedConditionalForwarder *bool `pulumi:"deleteAssociatedConditionalForwarder"` 314 // ID of the Directory. 315 DirectoryId string `pulumi:"directoryId"` 316 // Fully qualified domain name of the remote Directory. 317 RemoteDomainName string `pulumi:"remoteDomainName"` 318 // Whether to enable selective authentication. 319 // Valid values are `Enabled` and `Disabled`. 320 // Default value is `Disabled`. 321 SelectiveAuth *string `pulumi:"selectiveAuth"` 322 // The direction of the Trust relationship. 323 // Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`. 324 TrustDirection string `pulumi:"trustDirection"` 325 // Password for the Trust. 326 // Does not need to match the passwords for either Directory. 327 // Can contain upper- and lower-case letters, numbers, and punctuation characters. 328 // May be up to 128 characters long. 329 TrustPassword string `pulumi:"trustPassword"` 330 // Type of the Trust relationship. 331 // Valid values are `Forest` and `External`. 332 // Default value is `Forest`. 333 TrustType *string `pulumi:"trustType"` 334 } 335 336 // The set of arguments for constructing a Trust resource. 337 type TrustArgs struct { 338 // Set of IPv4 addresses for the DNS server associated with the remote Directory. 339 // Can contain between 1 and 4 values. 340 ConditionalForwarderIpAddrs pulumi.StringArrayInput 341 // Whether to delete the conditional forwarder when deleting the Trust relationship. 342 DeleteAssociatedConditionalForwarder pulumi.BoolPtrInput 343 // ID of the Directory. 344 DirectoryId pulumi.StringInput 345 // Fully qualified domain name of the remote Directory. 346 RemoteDomainName pulumi.StringInput 347 // Whether to enable selective authentication. 348 // Valid values are `Enabled` and `Disabled`. 349 // Default value is `Disabled`. 350 SelectiveAuth pulumi.StringPtrInput 351 // The direction of the Trust relationship. 352 // Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`. 353 TrustDirection pulumi.StringInput 354 // Password for the Trust. 355 // Does not need to match the passwords for either Directory. 356 // Can contain upper- and lower-case letters, numbers, and punctuation characters. 357 // May be up to 128 characters long. 358 TrustPassword pulumi.StringInput 359 // Type of the Trust relationship. 360 // Valid values are `Forest` and `External`. 361 // Default value is `Forest`. 362 TrustType pulumi.StringPtrInput 363 } 364 365 func (TrustArgs) ElementType() reflect.Type { 366 return reflect.TypeOf((*trustArgs)(nil)).Elem() 367 } 368 369 type TrustInput interface { 370 pulumi.Input 371 372 ToTrustOutput() TrustOutput 373 ToTrustOutputWithContext(ctx context.Context) TrustOutput 374 } 375 376 func (*Trust) ElementType() reflect.Type { 377 return reflect.TypeOf((**Trust)(nil)).Elem() 378 } 379 380 func (i *Trust) ToTrustOutput() TrustOutput { 381 return i.ToTrustOutputWithContext(context.Background()) 382 } 383 384 func (i *Trust) ToTrustOutputWithContext(ctx context.Context) TrustOutput { 385 return pulumi.ToOutputWithContext(ctx, i).(TrustOutput) 386 } 387 388 // TrustArrayInput is an input type that accepts TrustArray and TrustArrayOutput values. 389 // You can construct a concrete instance of `TrustArrayInput` via: 390 // 391 // TrustArray{ TrustArgs{...} } 392 type TrustArrayInput interface { 393 pulumi.Input 394 395 ToTrustArrayOutput() TrustArrayOutput 396 ToTrustArrayOutputWithContext(context.Context) TrustArrayOutput 397 } 398 399 type TrustArray []TrustInput 400 401 func (TrustArray) ElementType() reflect.Type { 402 return reflect.TypeOf((*[]*Trust)(nil)).Elem() 403 } 404 405 func (i TrustArray) ToTrustArrayOutput() TrustArrayOutput { 406 return i.ToTrustArrayOutputWithContext(context.Background()) 407 } 408 409 func (i TrustArray) ToTrustArrayOutputWithContext(ctx context.Context) TrustArrayOutput { 410 return pulumi.ToOutputWithContext(ctx, i).(TrustArrayOutput) 411 } 412 413 // TrustMapInput is an input type that accepts TrustMap and TrustMapOutput values. 414 // You can construct a concrete instance of `TrustMapInput` via: 415 // 416 // TrustMap{ "key": TrustArgs{...} } 417 type TrustMapInput interface { 418 pulumi.Input 419 420 ToTrustMapOutput() TrustMapOutput 421 ToTrustMapOutputWithContext(context.Context) TrustMapOutput 422 } 423 424 type TrustMap map[string]TrustInput 425 426 func (TrustMap) ElementType() reflect.Type { 427 return reflect.TypeOf((*map[string]*Trust)(nil)).Elem() 428 } 429 430 func (i TrustMap) ToTrustMapOutput() TrustMapOutput { 431 return i.ToTrustMapOutputWithContext(context.Background()) 432 } 433 434 func (i TrustMap) ToTrustMapOutputWithContext(ctx context.Context) TrustMapOutput { 435 return pulumi.ToOutputWithContext(ctx, i).(TrustMapOutput) 436 } 437 438 type TrustOutput struct{ *pulumi.OutputState } 439 440 func (TrustOutput) ElementType() reflect.Type { 441 return reflect.TypeOf((**Trust)(nil)).Elem() 442 } 443 444 func (o TrustOutput) ToTrustOutput() TrustOutput { 445 return o 446 } 447 448 func (o TrustOutput) ToTrustOutputWithContext(ctx context.Context) TrustOutput { 449 return o 450 } 451 452 // Set of IPv4 addresses for the DNS server associated with the remote Directory. 453 // Can contain between 1 and 4 values. 454 func (o TrustOutput) ConditionalForwarderIpAddrs() pulumi.StringArrayOutput { 455 return o.ApplyT(func(v *Trust) pulumi.StringArrayOutput { return v.ConditionalForwarderIpAddrs }).(pulumi.StringArrayOutput) 456 } 457 458 // Date and time when the Trust was created. 459 func (o TrustOutput) CreatedDateTime() pulumi.StringOutput { 460 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.CreatedDateTime }).(pulumi.StringOutput) 461 } 462 463 // Whether to delete the conditional forwarder when deleting the Trust relationship. 464 func (o TrustOutput) DeleteAssociatedConditionalForwarder() pulumi.BoolOutput { 465 return o.ApplyT(func(v *Trust) pulumi.BoolOutput { return v.DeleteAssociatedConditionalForwarder }).(pulumi.BoolOutput) 466 } 467 468 // ID of the Directory. 469 func (o TrustOutput) DirectoryId() pulumi.StringOutput { 470 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.DirectoryId }).(pulumi.StringOutput) 471 } 472 473 // Date and time when the Trust was last updated. 474 func (o TrustOutput) LastUpdatedDateTime() pulumi.StringOutput { 475 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.LastUpdatedDateTime }).(pulumi.StringOutput) 476 } 477 478 // Fully qualified domain name of the remote Directory. 479 func (o TrustOutput) RemoteDomainName() pulumi.StringOutput { 480 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.RemoteDomainName }).(pulumi.StringOutput) 481 } 482 483 // Whether to enable selective authentication. 484 // Valid values are `Enabled` and `Disabled`. 485 // Default value is `Disabled`. 486 func (o TrustOutput) SelectiveAuth() pulumi.StringOutput { 487 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.SelectiveAuth }).(pulumi.StringOutput) 488 } 489 490 // Date and time when the Trust state in `trustState` was last updated. 491 func (o TrustOutput) StateLastUpdatedDateTime() pulumi.StringOutput { 492 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.StateLastUpdatedDateTime }).(pulumi.StringOutput) 493 } 494 495 // The direction of the Trust relationship. 496 // Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`. 497 func (o TrustOutput) TrustDirection() pulumi.StringOutput { 498 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.TrustDirection }).(pulumi.StringOutput) 499 } 500 501 // Password for the Trust. 502 // Does not need to match the passwords for either Directory. 503 // Can contain upper- and lower-case letters, numbers, and punctuation characters. 504 // May be up to 128 characters long. 505 func (o TrustOutput) TrustPassword() pulumi.StringOutput { 506 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.TrustPassword }).(pulumi.StringOutput) 507 } 508 509 // State of the Trust relationship. 510 // One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`. 511 func (o TrustOutput) TrustState() pulumi.StringOutput { 512 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.TrustState }).(pulumi.StringOutput) 513 } 514 515 // Reason for the Trust state set in `trustState`. 516 func (o TrustOutput) TrustStateReason() pulumi.StringOutput { 517 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.TrustStateReason }).(pulumi.StringOutput) 518 } 519 520 // Type of the Trust relationship. 521 // Valid values are `Forest` and `External`. 522 // Default value is `Forest`. 523 func (o TrustOutput) TrustType() pulumi.StringOutput { 524 return o.ApplyT(func(v *Trust) pulumi.StringOutput { return v.TrustType }).(pulumi.StringOutput) 525 } 526 527 type TrustArrayOutput struct{ *pulumi.OutputState } 528 529 func (TrustArrayOutput) ElementType() reflect.Type { 530 return reflect.TypeOf((*[]*Trust)(nil)).Elem() 531 } 532 533 func (o TrustArrayOutput) ToTrustArrayOutput() TrustArrayOutput { 534 return o 535 } 536 537 func (o TrustArrayOutput) ToTrustArrayOutputWithContext(ctx context.Context) TrustArrayOutput { 538 return o 539 } 540 541 func (o TrustArrayOutput) Index(i pulumi.IntInput) TrustOutput { 542 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Trust { 543 return vs[0].([]*Trust)[vs[1].(int)] 544 }).(TrustOutput) 545 } 546 547 type TrustMapOutput struct{ *pulumi.OutputState } 548 549 func (TrustMapOutput) ElementType() reflect.Type { 550 return reflect.TypeOf((*map[string]*Trust)(nil)).Elem() 551 } 552 553 func (o TrustMapOutput) ToTrustMapOutput() TrustMapOutput { 554 return o 555 } 556 557 func (o TrustMapOutput) ToTrustMapOutputWithContext(ctx context.Context) TrustMapOutput { 558 return o 559 } 560 561 func (o TrustMapOutput) MapIndex(k pulumi.StringInput) TrustOutput { 562 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Trust { 563 return vs[0].(map[string]*Trust)[vs[1].(string)] 564 }).(TrustOutput) 565 } 566 567 func init() { 568 pulumi.RegisterInputType(reflect.TypeOf((*TrustInput)(nil)).Elem(), &Trust{}) 569 pulumi.RegisterInputType(reflect.TypeOf((*TrustArrayInput)(nil)).Elem(), TrustArray{}) 570 pulumi.RegisterInputType(reflect.TypeOf((*TrustMapInput)(nil)).Elem(), TrustMap{}) 571 pulumi.RegisterOutputType(TrustOutput{}) 572 pulumi.RegisterOutputType(TrustArrayOutput{}) 573 pulumi.RegisterOutputType(TrustMapOutput{}) 574 }