github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opsworks/application.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 opsworks 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 OpsWorks application resource. 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/opsworks" 26 // "github.com/pulumi/pulumi-std/sdk/go/std" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // invokeFile, err := std.File(ctx, &std.FileArgs{ 34 // Input: "./foobar.key", 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // invokeFile1, err := std.File(ctx, &std.FileArgs{ 40 // Input: "./foobar.crt", 41 // }, nil) 42 // if err != nil { 43 // return err 44 // } 45 // _, err = opsworks.NewApplication(ctx, "foo-app", &opsworks.ApplicationArgs{ 46 // Name: pulumi.String("foobar application"), 47 // ShortName: pulumi.String("foobar"), 48 // StackId: pulumi.Any(main.Id), 49 // Type: pulumi.String("rails"), 50 // Description: pulumi.String("This is a Rails application"), 51 // Domains: pulumi.StringArray{ 52 // pulumi.String("example.com"), 53 // pulumi.String("sub.example.com"), 54 // }, 55 // Environments: opsworks.ApplicationEnvironmentArray{ 56 // &opsworks.ApplicationEnvironmentArgs{ 57 // Key: pulumi.String("key"), 58 // Value: pulumi.String("value"), 59 // Secure: pulumi.Bool(false), 60 // }, 61 // }, 62 // AppSources: opsworks.ApplicationAppSourceArray{ 63 // &opsworks.ApplicationAppSourceArgs{ 64 // Type: pulumi.String("git"), 65 // Revision: pulumi.String("master"), 66 // Url: pulumi.String("https://github.com/example.git"), 67 // }, 68 // }, 69 // EnableSsl: pulumi.Bool(true), 70 // SslConfigurations: opsworks.ApplicationSslConfigurationArray{ 71 // &opsworks.ApplicationSslConfigurationArgs{ 72 // PrivateKey: invokeFile.Result, 73 // Certificate: invokeFile1.Result, 74 // }, 75 // }, 76 // DocumentRoot: pulumi.String("public"), 77 // AutoBundleOnDeploy: pulumi.String("true"), 78 // RailsEnv: pulumi.String("staging"), 79 // }) 80 // if err != nil { 81 // return err 82 // } 83 // return nil 84 // }) 85 // } 86 // 87 // ``` 88 // <!--End PulumiCodeChooser --> 89 // 90 // ## Import 91 // 92 // Using `pulumi import`, import Opsworks Application using the `id`. For example: 93 // 94 // ```sh 95 // $ pulumi import aws:opsworks/application:Application test <id> 96 // ``` 97 type Application struct { 98 pulumi.CustomResourceState 99 100 // SCM configuration of the app as described below. 101 AppSources ApplicationAppSourceArrayOutput `pulumi:"appSources"` 102 // Run bundle install when deploying for application of type `rails`. 103 AutoBundleOnDeploy pulumi.StringPtrOutput `pulumi:"autoBundleOnDeploy"` 104 // Specify activity and workflow workers for your app using the aws-flow gem. 105 AwsFlowRubySettings pulumi.StringPtrOutput `pulumi:"awsFlowRubySettings"` 106 // The data source's ARN. 107 DataSourceArn pulumi.StringPtrOutput `pulumi:"dataSourceArn"` 108 // The database name. 109 DataSourceDatabaseName pulumi.StringPtrOutput `pulumi:"dataSourceDatabaseName"` 110 // The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`. 111 DataSourceType pulumi.StringPtrOutput `pulumi:"dataSourceType"` 112 // A description of the app. 113 Description pulumi.StringPtrOutput `pulumi:"description"` 114 // Subfolder for the document root for application of type `rails`. 115 DocumentRoot pulumi.StringPtrOutput `pulumi:"documentRoot"` 116 // A list of virtual host alias. 117 Domains pulumi.StringArrayOutput `pulumi:"domains"` 118 // Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. 119 EnableSsl pulumi.BoolPtrOutput `pulumi:"enableSsl"` 120 // Object to define environment variables. Object is described below. 121 Environments ApplicationEnvironmentArrayOutput `pulumi:"environments"` 122 // A human-readable name for the application. 123 Name pulumi.StringOutput `pulumi:"name"` 124 // The name of the Rails environment for application of type `rails`. 125 RailsEnv pulumi.StringPtrOutput `pulumi:"railsEnv"` 126 // A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update. 127 ShortName pulumi.StringOutput `pulumi:"shortName"` 128 // The SSL configuration of the app. Object is described below. 129 SslConfigurations ApplicationSslConfigurationArrayOutput `pulumi:"sslConfigurations"` 130 // ID of the stack the application will belong to. 131 StackId pulumi.StringOutput `pulumi:"stackId"` 132 // Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`. 133 Type pulumi.StringOutput `pulumi:"type"` 134 } 135 136 // NewApplication registers a new resource with the given unique name, arguments, and options. 137 func NewApplication(ctx *pulumi.Context, 138 name string, args *ApplicationArgs, opts ...pulumi.ResourceOption) (*Application, error) { 139 if args == nil { 140 return nil, errors.New("missing one or more required arguments") 141 } 142 143 if args.StackId == nil { 144 return nil, errors.New("invalid value for required argument 'StackId'") 145 } 146 if args.Type == nil { 147 return nil, errors.New("invalid value for required argument 'Type'") 148 } 149 opts = internal.PkgResourceDefaultOpts(opts) 150 var resource Application 151 err := ctx.RegisterResource("aws:opsworks/application:Application", name, args, &resource, opts...) 152 if err != nil { 153 return nil, err 154 } 155 return &resource, nil 156 } 157 158 // GetApplication gets an existing Application resource's state with the given name, ID, and optional 159 // state properties that are used to uniquely qualify the lookup (nil if not required). 160 func GetApplication(ctx *pulumi.Context, 161 name string, id pulumi.IDInput, state *ApplicationState, opts ...pulumi.ResourceOption) (*Application, error) { 162 var resource Application 163 err := ctx.ReadResource("aws:opsworks/application:Application", name, id, state, &resource, opts...) 164 if err != nil { 165 return nil, err 166 } 167 return &resource, nil 168 } 169 170 // Input properties used for looking up and filtering Application resources. 171 type applicationState struct { 172 // SCM configuration of the app as described below. 173 AppSources []ApplicationAppSource `pulumi:"appSources"` 174 // Run bundle install when deploying for application of type `rails`. 175 AutoBundleOnDeploy *string `pulumi:"autoBundleOnDeploy"` 176 // Specify activity and workflow workers for your app using the aws-flow gem. 177 AwsFlowRubySettings *string `pulumi:"awsFlowRubySettings"` 178 // The data source's ARN. 179 DataSourceArn *string `pulumi:"dataSourceArn"` 180 // The database name. 181 DataSourceDatabaseName *string `pulumi:"dataSourceDatabaseName"` 182 // The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`. 183 DataSourceType *string `pulumi:"dataSourceType"` 184 // A description of the app. 185 Description *string `pulumi:"description"` 186 // Subfolder for the document root for application of type `rails`. 187 DocumentRoot *string `pulumi:"documentRoot"` 188 // A list of virtual host alias. 189 Domains []string `pulumi:"domains"` 190 // Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. 191 EnableSsl *bool `pulumi:"enableSsl"` 192 // Object to define environment variables. Object is described below. 193 Environments []ApplicationEnvironment `pulumi:"environments"` 194 // A human-readable name for the application. 195 Name *string `pulumi:"name"` 196 // The name of the Rails environment for application of type `rails`. 197 RailsEnv *string `pulumi:"railsEnv"` 198 // A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update. 199 ShortName *string `pulumi:"shortName"` 200 // The SSL configuration of the app. Object is described below. 201 SslConfigurations []ApplicationSslConfiguration `pulumi:"sslConfigurations"` 202 // ID of the stack the application will belong to. 203 StackId *string `pulumi:"stackId"` 204 // Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`. 205 Type *string `pulumi:"type"` 206 } 207 208 type ApplicationState struct { 209 // SCM configuration of the app as described below. 210 AppSources ApplicationAppSourceArrayInput 211 // Run bundle install when deploying for application of type `rails`. 212 AutoBundleOnDeploy pulumi.StringPtrInput 213 // Specify activity and workflow workers for your app using the aws-flow gem. 214 AwsFlowRubySettings pulumi.StringPtrInput 215 // The data source's ARN. 216 DataSourceArn pulumi.StringPtrInput 217 // The database name. 218 DataSourceDatabaseName pulumi.StringPtrInput 219 // The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`. 220 DataSourceType pulumi.StringPtrInput 221 // A description of the app. 222 Description pulumi.StringPtrInput 223 // Subfolder for the document root for application of type `rails`. 224 DocumentRoot pulumi.StringPtrInput 225 // A list of virtual host alias. 226 Domains pulumi.StringArrayInput 227 // Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. 228 EnableSsl pulumi.BoolPtrInput 229 // Object to define environment variables. Object is described below. 230 Environments ApplicationEnvironmentArrayInput 231 // A human-readable name for the application. 232 Name pulumi.StringPtrInput 233 // The name of the Rails environment for application of type `rails`. 234 RailsEnv pulumi.StringPtrInput 235 // A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update. 236 ShortName pulumi.StringPtrInput 237 // The SSL configuration of the app. Object is described below. 238 SslConfigurations ApplicationSslConfigurationArrayInput 239 // ID of the stack the application will belong to. 240 StackId pulumi.StringPtrInput 241 // Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`. 242 Type pulumi.StringPtrInput 243 } 244 245 func (ApplicationState) ElementType() reflect.Type { 246 return reflect.TypeOf((*applicationState)(nil)).Elem() 247 } 248 249 type applicationArgs struct { 250 // SCM configuration of the app as described below. 251 AppSources []ApplicationAppSource `pulumi:"appSources"` 252 // Run bundle install when deploying for application of type `rails`. 253 AutoBundleOnDeploy *string `pulumi:"autoBundleOnDeploy"` 254 // Specify activity and workflow workers for your app using the aws-flow gem. 255 AwsFlowRubySettings *string `pulumi:"awsFlowRubySettings"` 256 // The data source's ARN. 257 DataSourceArn *string `pulumi:"dataSourceArn"` 258 // The database name. 259 DataSourceDatabaseName *string `pulumi:"dataSourceDatabaseName"` 260 // The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`. 261 DataSourceType *string `pulumi:"dataSourceType"` 262 // A description of the app. 263 Description *string `pulumi:"description"` 264 // Subfolder for the document root for application of type `rails`. 265 DocumentRoot *string `pulumi:"documentRoot"` 266 // A list of virtual host alias. 267 Domains []string `pulumi:"domains"` 268 // Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. 269 EnableSsl *bool `pulumi:"enableSsl"` 270 // Object to define environment variables. Object is described below. 271 Environments []ApplicationEnvironment `pulumi:"environments"` 272 // A human-readable name for the application. 273 Name *string `pulumi:"name"` 274 // The name of the Rails environment for application of type `rails`. 275 RailsEnv *string `pulumi:"railsEnv"` 276 // A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update. 277 ShortName *string `pulumi:"shortName"` 278 // The SSL configuration of the app. Object is described below. 279 SslConfigurations []ApplicationSslConfiguration `pulumi:"sslConfigurations"` 280 // ID of the stack the application will belong to. 281 StackId string `pulumi:"stackId"` 282 // Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`. 283 Type string `pulumi:"type"` 284 } 285 286 // The set of arguments for constructing a Application resource. 287 type ApplicationArgs struct { 288 // SCM configuration of the app as described below. 289 AppSources ApplicationAppSourceArrayInput 290 // Run bundle install when deploying for application of type `rails`. 291 AutoBundleOnDeploy pulumi.StringPtrInput 292 // Specify activity and workflow workers for your app using the aws-flow gem. 293 AwsFlowRubySettings pulumi.StringPtrInput 294 // The data source's ARN. 295 DataSourceArn pulumi.StringPtrInput 296 // The database name. 297 DataSourceDatabaseName pulumi.StringPtrInput 298 // The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`. 299 DataSourceType pulumi.StringPtrInput 300 // A description of the app. 301 Description pulumi.StringPtrInput 302 // Subfolder for the document root for application of type `rails`. 303 DocumentRoot pulumi.StringPtrInput 304 // A list of virtual host alias. 305 Domains pulumi.StringArrayInput 306 // Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. 307 EnableSsl pulumi.BoolPtrInput 308 // Object to define environment variables. Object is described below. 309 Environments ApplicationEnvironmentArrayInput 310 // A human-readable name for the application. 311 Name pulumi.StringPtrInput 312 // The name of the Rails environment for application of type `rails`. 313 RailsEnv pulumi.StringPtrInput 314 // A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update. 315 ShortName pulumi.StringPtrInput 316 // The SSL configuration of the app. Object is described below. 317 SslConfigurations ApplicationSslConfigurationArrayInput 318 // ID of the stack the application will belong to. 319 StackId pulumi.StringInput 320 // Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`. 321 Type pulumi.StringInput 322 } 323 324 func (ApplicationArgs) ElementType() reflect.Type { 325 return reflect.TypeOf((*applicationArgs)(nil)).Elem() 326 } 327 328 type ApplicationInput interface { 329 pulumi.Input 330 331 ToApplicationOutput() ApplicationOutput 332 ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput 333 } 334 335 func (*Application) ElementType() reflect.Type { 336 return reflect.TypeOf((**Application)(nil)).Elem() 337 } 338 339 func (i *Application) ToApplicationOutput() ApplicationOutput { 340 return i.ToApplicationOutputWithContext(context.Background()) 341 } 342 343 func (i *Application) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput { 344 return pulumi.ToOutputWithContext(ctx, i).(ApplicationOutput) 345 } 346 347 // ApplicationArrayInput is an input type that accepts ApplicationArray and ApplicationArrayOutput values. 348 // You can construct a concrete instance of `ApplicationArrayInput` via: 349 // 350 // ApplicationArray{ ApplicationArgs{...} } 351 type ApplicationArrayInput interface { 352 pulumi.Input 353 354 ToApplicationArrayOutput() ApplicationArrayOutput 355 ToApplicationArrayOutputWithContext(context.Context) ApplicationArrayOutput 356 } 357 358 type ApplicationArray []ApplicationInput 359 360 func (ApplicationArray) ElementType() reflect.Type { 361 return reflect.TypeOf((*[]*Application)(nil)).Elem() 362 } 363 364 func (i ApplicationArray) ToApplicationArrayOutput() ApplicationArrayOutput { 365 return i.ToApplicationArrayOutputWithContext(context.Background()) 366 } 367 368 func (i ApplicationArray) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput { 369 return pulumi.ToOutputWithContext(ctx, i).(ApplicationArrayOutput) 370 } 371 372 // ApplicationMapInput is an input type that accepts ApplicationMap and ApplicationMapOutput values. 373 // You can construct a concrete instance of `ApplicationMapInput` via: 374 // 375 // ApplicationMap{ "key": ApplicationArgs{...} } 376 type ApplicationMapInput interface { 377 pulumi.Input 378 379 ToApplicationMapOutput() ApplicationMapOutput 380 ToApplicationMapOutputWithContext(context.Context) ApplicationMapOutput 381 } 382 383 type ApplicationMap map[string]ApplicationInput 384 385 func (ApplicationMap) ElementType() reflect.Type { 386 return reflect.TypeOf((*map[string]*Application)(nil)).Elem() 387 } 388 389 func (i ApplicationMap) ToApplicationMapOutput() ApplicationMapOutput { 390 return i.ToApplicationMapOutputWithContext(context.Background()) 391 } 392 393 func (i ApplicationMap) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput { 394 return pulumi.ToOutputWithContext(ctx, i).(ApplicationMapOutput) 395 } 396 397 type ApplicationOutput struct{ *pulumi.OutputState } 398 399 func (ApplicationOutput) ElementType() reflect.Type { 400 return reflect.TypeOf((**Application)(nil)).Elem() 401 } 402 403 func (o ApplicationOutput) ToApplicationOutput() ApplicationOutput { 404 return o 405 } 406 407 func (o ApplicationOutput) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput { 408 return o 409 } 410 411 // SCM configuration of the app as described below. 412 func (o ApplicationOutput) AppSources() ApplicationAppSourceArrayOutput { 413 return o.ApplyT(func(v *Application) ApplicationAppSourceArrayOutput { return v.AppSources }).(ApplicationAppSourceArrayOutput) 414 } 415 416 // Run bundle install when deploying for application of type `rails`. 417 func (o ApplicationOutput) AutoBundleOnDeploy() pulumi.StringPtrOutput { 418 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.AutoBundleOnDeploy }).(pulumi.StringPtrOutput) 419 } 420 421 // Specify activity and workflow workers for your app using the aws-flow gem. 422 func (o ApplicationOutput) AwsFlowRubySettings() pulumi.StringPtrOutput { 423 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.AwsFlowRubySettings }).(pulumi.StringPtrOutput) 424 } 425 426 // The data source's ARN. 427 func (o ApplicationOutput) DataSourceArn() pulumi.StringPtrOutput { 428 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DataSourceArn }).(pulumi.StringPtrOutput) 429 } 430 431 // The database name. 432 func (o ApplicationOutput) DataSourceDatabaseName() pulumi.StringPtrOutput { 433 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DataSourceDatabaseName }).(pulumi.StringPtrOutput) 434 } 435 436 // The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, or `RdsDbInstance`. 437 func (o ApplicationOutput) DataSourceType() pulumi.StringPtrOutput { 438 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DataSourceType }).(pulumi.StringPtrOutput) 439 } 440 441 // A description of the app. 442 func (o ApplicationOutput) Description() pulumi.StringPtrOutput { 443 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 444 } 445 446 // Subfolder for the document root for application of type `rails`. 447 func (o ApplicationOutput) DocumentRoot() pulumi.StringPtrOutput { 448 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DocumentRoot }).(pulumi.StringPtrOutput) 449 } 450 451 // A list of virtual host alias. 452 func (o ApplicationOutput) Domains() pulumi.StringArrayOutput { 453 return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.Domains }).(pulumi.StringArrayOutput) 454 } 455 456 // Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.private_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. 457 func (o ApplicationOutput) EnableSsl() pulumi.BoolPtrOutput { 458 return o.ApplyT(func(v *Application) pulumi.BoolPtrOutput { return v.EnableSsl }).(pulumi.BoolPtrOutput) 459 } 460 461 // Object to define environment variables. Object is described below. 462 func (o ApplicationOutput) Environments() ApplicationEnvironmentArrayOutput { 463 return o.ApplyT(func(v *Application) ApplicationEnvironmentArrayOutput { return v.Environments }).(ApplicationEnvironmentArrayOutput) 464 } 465 466 // A human-readable name for the application. 467 func (o ApplicationOutput) Name() pulumi.StringOutput { 468 return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 469 } 470 471 // The name of the Rails environment for application of type `rails`. 472 func (o ApplicationOutput) RailsEnv() pulumi.StringPtrOutput { 473 return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RailsEnv }).(pulumi.StringPtrOutput) 474 } 475 476 // A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update. 477 func (o ApplicationOutput) ShortName() pulumi.StringOutput { 478 return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.ShortName }).(pulumi.StringOutput) 479 } 480 481 // The SSL configuration of the app. Object is described below. 482 func (o ApplicationOutput) SslConfigurations() ApplicationSslConfigurationArrayOutput { 483 return o.ApplyT(func(v *Application) ApplicationSslConfigurationArrayOutput { return v.SslConfigurations }).(ApplicationSslConfigurationArrayOutput) 484 } 485 486 // ID of the stack the application will belong to. 487 func (o ApplicationOutput) StackId() pulumi.StringOutput { 488 return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.StackId }).(pulumi.StringOutput) 489 } 490 491 // Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `static` or `other`. 492 func (o ApplicationOutput) Type() pulumi.StringOutput { 493 return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) 494 } 495 496 type ApplicationArrayOutput struct{ *pulumi.OutputState } 497 498 func (ApplicationArrayOutput) ElementType() reflect.Type { 499 return reflect.TypeOf((*[]*Application)(nil)).Elem() 500 } 501 502 func (o ApplicationArrayOutput) ToApplicationArrayOutput() ApplicationArrayOutput { 503 return o 504 } 505 506 func (o ApplicationArrayOutput) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput { 507 return o 508 } 509 510 func (o ApplicationArrayOutput) Index(i pulumi.IntInput) ApplicationOutput { 511 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Application { 512 return vs[0].([]*Application)[vs[1].(int)] 513 }).(ApplicationOutput) 514 } 515 516 type ApplicationMapOutput struct{ *pulumi.OutputState } 517 518 func (ApplicationMapOutput) ElementType() reflect.Type { 519 return reflect.TypeOf((*map[string]*Application)(nil)).Elem() 520 } 521 522 func (o ApplicationMapOutput) ToApplicationMapOutput() ApplicationMapOutput { 523 return o 524 } 525 526 func (o ApplicationMapOutput) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput { 527 return o 528 } 529 530 func (o ApplicationMapOutput) MapIndex(k pulumi.StringInput) ApplicationOutput { 531 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Application { 532 return vs[0].(map[string]*Application)[vs[1].(string)] 533 }).(ApplicationOutput) 534 } 535 536 func init() { 537 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationInput)(nil)).Elem(), &Application{}) 538 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationArrayInput)(nil)).Elem(), ApplicationArray{}) 539 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationMapInput)(nil)).Elem(), ApplicationMap{}) 540 pulumi.RegisterOutputType(ApplicationOutput{}) 541 pulumi.RegisterOutputType(ApplicationArrayOutput{}) 542 pulumi.RegisterOutputType(ApplicationMapOutput{}) 543 }