github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lightsail/containerService.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 lightsail 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 // An Amazon Lightsail container service is a highly scalable compute and networking resource on which you can deploy, run, 16 // and manage containers. For more information, see 17 // [Container services in Amazon Lightsail](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services). 18 // 19 // > **Note:** For more information about the AWS Regions in which you can create Amazon Lightsail container services, 20 // see ["Regions and Availability Zones in Amazon Lightsail"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail). 21 // 22 // ## Example Usage 23 // 24 // ### Basic Usage 25 // 26 // <!--Start PulumiCodeChooser --> 27 // ```go 28 // package main 29 // 30 // import ( 31 // 32 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail" 33 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 34 // 35 // ) 36 // 37 // func main() { 38 // pulumi.Run(func(ctx *pulumi.Context) error { 39 // _, err := lightsail.NewContainerService(ctx, "my_container_service", &lightsail.ContainerServiceArgs{ 40 // Name: pulumi.String("container-service-1"), 41 // Power: pulumi.String("nano"), 42 // Scale: pulumi.Int(1), 43 // IsDisabled: pulumi.Bool(false), 44 // Tags: pulumi.StringMap{ 45 // "foo1": pulumi.String("bar1"), 46 // "foo2": pulumi.String(""), 47 // }, 48 // }) 49 // if err != nil { 50 // return err 51 // } 52 // return nil 53 // }) 54 // } 55 // 56 // ``` 57 // <!--End PulumiCodeChooser --> 58 // 59 // ### Public Domain Names 60 // 61 // <!--Start PulumiCodeChooser --> 62 // ```go 63 // package main 64 // 65 // import ( 66 // 67 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail" 68 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 69 // 70 // ) 71 // 72 // func main() { 73 // pulumi.Run(func(ctx *pulumi.Context) error { 74 // _, err := lightsail.NewContainerService(ctx, "my_container_service", &lightsail.ContainerServiceArgs{ 75 // PublicDomainNames: &lightsail.ContainerServicePublicDomainNamesArgs{ 76 // Certificates: lightsail.ContainerServicePublicDomainNamesCertificateArray{ 77 // &lightsail.ContainerServicePublicDomainNamesCertificateArgs{ 78 // CertificateName: pulumi.String("example-certificate"), 79 // DomainNames: pulumi.StringArray{ 80 // pulumi.String("www.example.com"), 81 // }, 82 // }, 83 // }, 84 // }, 85 // }) 86 // if err != nil { 87 // return err 88 // } 89 // return nil 90 // }) 91 // } 92 // 93 // ``` 94 // <!--End PulumiCodeChooser --> 95 // 96 // ### Private Registry Access 97 // 98 // <!--Start PulumiCodeChooser --> 99 // ```go 100 // package main 101 // 102 // import ( 103 // 104 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr" 105 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 106 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail" 107 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 108 // 109 // ) 110 // func main() { 111 // pulumi.Run(func(ctx *pulumi.Context) error { 112 // defaultContainerService, err := lightsail.NewContainerService(ctx, "default", &lightsail.ContainerServiceArgs{ 113 // PrivateRegistryAccess: &lightsail.ContainerServicePrivateRegistryAccessArgs{ 114 // EcrImagePullerRole: &lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs{ 115 // IsActive: pulumi.Bool(true), 116 // }, 117 // }, 118 // }) 119 // if err != nil { 120 // return err 121 // } 122 // _default := defaultContainerService.PrivateRegistryAccess.ApplyT(func(privateRegistryAccess lightsail.ContainerServicePrivateRegistryAccess) (iam.GetPolicyDocumentResult, error) { 123 // return iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ 124 // Statements: []iam.GetPolicyDocumentStatement{ 125 // { 126 // Effect: "Allow", 127 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 128 // { 129 // Type: "AWS", 130 // Identifiers: interface{}{ 131 // privateRegistryAccess.EcrImagePullerRole.PrincipalArn, 132 // }, 133 // }, 134 // }, 135 // Actions: []string{ 136 // "ecr:BatchGetImage", 137 // "ecr:GetDownloadUrlForLayer", 138 // }, 139 // }, 140 // }, 141 // }, nil), nil 142 // }).(iam.GetPolicyDocumentResultOutput) 143 // _, err = ecr.NewRepositoryPolicy(ctx, "default", &ecr.RepositoryPolicyArgs{ 144 // Repository: pulumi.Any(defaultAwsEcrRepository.Name), 145 // Policy: _default.ApplyT(func(_default iam.GetPolicyDocumentResult) (*string, error) { 146 // return &default.Json, nil 147 // }).(pulumi.StringPtrOutput), 148 // }) 149 // if err != nil { 150 // return err 151 // } 152 // return nil 153 // }) 154 // } 155 // ``` 156 // <!--End PulumiCodeChooser --> 157 // 158 // ## Import 159 // 160 // Using `pulumi import`, import Lightsail Container Service using the `name`. For example: 161 // 162 // ```sh 163 // $ pulumi import aws:lightsail/containerService:ContainerService my_container_service container-service-1 164 // ``` 165 type ContainerService struct { 166 pulumi.CustomResourceState 167 168 // The Amazon Resource Name (ARN) of the container service. 169 Arn pulumi.StringOutput `pulumi:"arn"` 170 // The Availability Zone. Follows the format us-east-2a (case-sensitive). 171 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 172 CreatedAt pulumi.StringOutput `pulumi:"createdAt"` 173 // A Boolean value indicating whether the container service is disabled. Defaults to `false`. 174 IsDisabled pulumi.BoolPtrOutput `pulumi:"isDisabled"` 175 // The name for the container service. Names must be of length 1 to 63, and be 176 // unique within each AWS Region in your Lightsail account. 177 Name pulumi.StringOutput `pulumi:"name"` 178 // The power specification for the container service. The power specifies the amount of memory, 179 // the number of vCPUs, and the monthly price of each node of the container service. 180 // Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`. 181 Power pulumi.StringOutput `pulumi:"power"` 182 // The ID of the power of the container service. 183 PowerId pulumi.StringOutput `pulumi:"powerId"` 184 // The principal ARN of the container service. The principal ARN can be used to create a trust 185 // relationship between your standard AWS account and your Lightsail container service. This allows you to give your 186 // service permission to access resources in your standard AWS account. 187 PrincipalArn pulumi.StringOutput `pulumi:"principalArn"` 188 // The private domain name of the container service. The private domain name is accessible only 189 // by other resources within the default virtual private cloud (VPC) of your Lightsail account. 190 PrivateDomainName pulumi.StringOutput `pulumi:"privateDomainName"` 191 // An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details. 192 PrivateRegistryAccess ContainerServicePrivateRegistryAccessOutput `pulumi:"privateRegistryAccess"` 193 // The public domain names to use with the container service, such as example.com 194 // and www.example.com. You can specify up to four public domain names for a container service. The domain names that you 195 // specify are used when you create a deployment with a container configured as the public endpoint of your container 196 // service. If you don't specify public domain names, then you can use the default domain of the container service. 197 // Defined below. 198 PublicDomainNames ContainerServicePublicDomainNamesPtrOutput `pulumi:"publicDomainNames"` 199 // The Lightsail resource type of the container service (i.e., ContainerService). 200 ResourceType pulumi.StringOutput `pulumi:"resourceType"` 201 // The scale specification for the container service. The scale specifies the allocated compute 202 // nodes of the container service. 203 Scale pulumi.IntOutput `pulumi:"scale"` 204 // The current state of the container service. 205 State pulumi.StringOutput `pulumi:"state"` 206 // Map of container service tags. To tag at launch, specify the tags in the Launch Template. If 207 // configured with a provider 208 // `defaultTags` configuration block 209 // present, tags with matching keys will overwrite those defined at the provider-level. 210 Tags pulumi.StringMapOutput `pulumi:"tags"` 211 // A map of tags assigned to the resource, including those inherited from the provider 212 // `defaultTags` configuration block. 213 // 214 // Deprecated: Please use `tags` instead. 215 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 216 // The publicly accessible URL of the container service. If no public endpoint is specified in the 217 // currentDeployment, this URL returns a 404 response. 218 Url pulumi.StringOutput `pulumi:"url"` 219 } 220 221 // NewContainerService registers a new resource with the given unique name, arguments, and options. 222 func NewContainerService(ctx *pulumi.Context, 223 name string, args *ContainerServiceArgs, opts ...pulumi.ResourceOption) (*ContainerService, error) { 224 if args == nil { 225 return nil, errors.New("missing one or more required arguments") 226 } 227 228 if args.Power == nil { 229 return nil, errors.New("invalid value for required argument 'Power'") 230 } 231 if args.Scale == nil { 232 return nil, errors.New("invalid value for required argument 'Scale'") 233 } 234 opts = internal.PkgResourceDefaultOpts(opts) 235 var resource ContainerService 236 err := ctx.RegisterResource("aws:lightsail/containerService:ContainerService", name, args, &resource, opts...) 237 if err != nil { 238 return nil, err 239 } 240 return &resource, nil 241 } 242 243 // GetContainerService gets an existing ContainerService resource's state with the given name, ID, and optional 244 // state properties that are used to uniquely qualify the lookup (nil if not required). 245 func GetContainerService(ctx *pulumi.Context, 246 name string, id pulumi.IDInput, state *ContainerServiceState, opts ...pulumi.ResourceOption) (*ContainerService, error) { 247 var resource ContainerService 248 err := ctx.ReadResource("aws:lightsail/containerService:ContainerService", name, id, state, &resource, opts...) 249 if err != nil { 250 return nil, err 251 } 252 return &resource, nil 253 } 254 255 // Input properties used for looking up and filtering ContainerService resources. 256 type containerServiceState struct { 257 // The Amazon Resource Name (ARN) of the container service. 258 Arn *string `pulumi:"arn"` 259 // The Availability Zone. Follows the format us-east-2a (case-sensitive). 260 AvailabilityZone *string `pulumi:"availabilityZone"` 261 CreatedAt *string `pulumi:"createdAt"` 262 // A Boolean value indicating whether the container service is disabled. Defaults to `false`. 263 IsDisabled *bool `pulumi:"isDisabled"` 264 // The name for the container service. Names must be of length 1 to 63, and be 265 // unique within each AWS Region in your Lightsail account. 266 Name *string `pulumi:"name"` 267 // The power specification for the container service. The power specifies the amount of memory, 268 // the number of vCPUs, and the monthly price of each node of the container service. 269 // Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`. 270 Power *string `pulumi:"power"` 271 // The ID of the power of the container service. 272 PowerId *string `pulumi:"powerId"` 273 // The principal ARN of the container service. The principal ARN can be used to create a trust 274 // relationship between your standard AWS account and your Lightsail container service. This allows you to give your 275 // service permission to access resources in your standard AWS account. 276 PrincipalArn *string `pulumi:"principalArn"` 277 // The private domain name of the container service. The private domain name is accessible only 278 // by other resources within the default virtual private cloud (VPC) of your Lightsail account. 279 PrivateDomainName *string `pulumi:"privateDomainName"` 280 // An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details. 281 PrivateRegistryAccess *ContainerServicePrivateRegistryAccess `pulumi:"privateRegistryAccess"` 282 // The public domain names to use with the container service, such as example.com 283 // and www.example.com. You can specify up to four public domain names for a container service. The domain names that you 284 // specify are used when you create a deployment with a container configured as the public endpoint of your container 285 // service. If you don't specify public domain names, then you can use the default domain of the container service. 286 // Defined below. 287 PublicDomainNames *ContainerServicePublicDomainNames `pulumi:"publicDomainNames"` 288 // The Lightsail resource type of the container service (i.e., ContainerService). 289 ResourceType *string `pulumi:"resourceType"` 290 // The scale specification for the container service. The scale specifies the allocated compute 291 // nodes of the container service. 292 Scale *int `pulumi:"scale"` 293 // The current state of the container service. 294 State *string `pulumi:"state"` 295 // Map of container service tags. To tag at launch, specify the tags in the Launch Template. If 296 // configured with a provider 297 // `defaultTags` configuration block 298 // present, tags with matching keys will overwrite those defined at the provider-level. 299 Tags map[string]string `pulumi:"tags"` 300 // A map of tags assigned to the resource, including those inherited from the provider 301 // `defaultTags` configuration block. 302 // 303 // Deprecated: Please use `tags` instead. 304 TagsAll map[string]string `pulumi:"tagsAll"` 305 // The publicly accessible URL of the container service. If no public endpoint is specified in the 306 // currentDeployment, this URL returns a 404 response. 307 Url *string `pulumi:"url"` 308 } 309 310 type ContainerServiceState struct { 311 // The Amazon Resource Name (ARN) of the container service. 312 Arn pulumi.StringPtrInput 313 // The Availability Zone. Follows the format us-east-2a (case-sensitive). 314 AvailabilityZone pulumi.StringPtrInput 315 CreatedAt pulumi.StringPtrInput 316 // A Boolean value indicating whether the container service is disabled. Defaults to `false`. 317 IsDisabled pulumi.BoolPtrInput 318 // The name for the container service. Names must be of length 1 to 63, and be 319 // unique within each AWS Region in your Lightsail account. 320 Name pulumi.StringPtrInput 321 // The power specification for the container service. The power specifies the amount of memory, 322 // the number of vCPUs, and the monthly price of each node of the container service. 323 // Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`. 324 Power pulumi.StringPtrInput 325 // The ID of the power of the container service. 326 PowerId pulumi.StringPtrInput 327 // The principal ARN of the container service. The principal ARN can be used to create a trust 328 // relationship between your standard AWS account and your Lightsail container service. This allows you to give your 329 // service permission to access resources in your standard AWS account. 330 PrincipalArn pulumi.StringPtrInput 331 // The private domain name of the container service. The private domain name is accessible only 332 // by other resources within the default virtual private cloud (VPC) of your Lightsail account. 333 PrivateDomainName pulumi.StringPtrInput 334 // An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details. 335 PrivateRegistryAccess ContainerServicePrivateRegistryAccessPtrInput 336 // The public domain names to use with the container service, such as example.com 337 // and www.example.com. You can specify up to four public domain names for a container service. The domain names that you 338 // specify are used when you create a deployment with a container configured as the public endpoint of your container 339 // service. If you don't specify public domain names, then you can use the default domain of the container service. 340 // Defined below. 341 PublicDomainNames ContainerServicePublicDomainNamesPtrInput 342 // The Lightsail resource type of the container service (i.e., ContainerService). 343 ResourceType pulumi.StringPtrInput 344 // The scale specification for the container service. The scale specifies the allocated compute 345 // nodes of the container service. 346 Scale pulumi.IntPtrInput 347 // The current state of the container service. 348 State pulumi.StringPtrInput 349 // Map of container service tags. To tag at launch, specify the tags in the Launch Template. If 350 // configured with a provider 351 // `defaultTags` configuration block 352 // present, tags with matching keys will overwrite those defined at the provider-level. 353 Tags pulumi.StringMapInput 354 // A map of tags assigned to the resource, including those inherited from the provider 355 // `defaultTags` configuration block. 356 // 357 // Deprecated: Please use `tags` instead. 358 TagsAll pulumi.StringMapInput 359 // The publicly accessible URL of the container service. If no public endpoint is specified in the 360 // currentDeployment, this URL returns a 404 response. 361 Url pulumi.StringPtrInput 362 } 363 364 func (ContainerServiceState) ElementType() reflect.Type { 365 return reflect.TypeOf((*containerServiceState)(nil)).Elem() 366 } 367 368 type containerServiceArgs struct { 369 // A Boolean value indicating whether the container service is disabled. Defaults to `false`. 370 IsDisabled *bool `pulumi:"isDisabled"` 371 // The name for the container service. Names must be of length 1 to 63, and be 372 // unique within each AWS Region in your Lightsail account. 373 Name *string `pulumi:"name"` 374 // The power specification for the container service. The power specifies the amount of memory, 375 // the number of vCPUs, and the monthly price of each node of the container service. 376 // Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`. 377 Power string `pulumi:"power"` 378 // An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details. 379 PrivateRegistryAccess *ContainerServicePrivateRegistryAccess `pulumi:"privateRegistryAccess"` 380 // The public domain names to use with the container service, such as example.com 381 // and www.example.com. You can specify up to four public domain names for a container service. The domain names that you 382 // specify are used when you create a deployment with a container configured as the public endpoint of your container 383 // service. If you don't specify public domain names, then you can use the default domain of the container service. 384 // Defined below. 385 PublicDomainNames *ContainerServicePublicDomainNames `pulumi:"publicDomainNames"` 386 // The scale specification for the container service. The scale specifies the allocated compute 387 // nodes of the container service. 388 Scale int `pulumi:"scale"` 389 // Map of container service tags. To tag at launch, specify the tags in the Launch Template. If 390 // configured with a provider 391 // `defaultTags` configuration block 392 // present, tags with matching keys will overwrite those defined at the provider-level. 393 Tags map[string]string `pulumi:"tags"` 394 } 395 396 // The set of arguments for constructing a ContainerService resource. 397 type ContainerServiceArgs struct { 398 // A Boolean value indicating whether the container service is disabled. Defaults to `false`. 399 IsDisabled pulumi.BoolPtrInput 400 // The name for the container service. Names must be of length 1 to 63, and be 401 // unique within each AWS Region in your Lightsail account. 402 Name pulumi.StringPtrInput 403 // The power specification for the container service. The power specifies the amount of memory, 404 // the number of vCPUs, and the monthly price of each node of the container service. 405 // Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`. 406 Power pulumi.StringInput 407 // An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details. 408 PrivateRegistryAccess ContainerServicePrivateRegistryAccessPtrInput 409 // The public domain names to use with the container service, such as example.com 410 // and www.example.com. You can specify up to four public domain names for a container service. The domain names that you 411 // specify are used when you create a deployment with a container configured as the public endpoint of your container 412 // service. If you don't specify public domain names, then you can use the default domain of the container service. 413 // Defined below. 414 PublicDomainNames ContainerServicePublicDomainNamesPtrInput 415 // The scale specification for the container service. The scale specifies the allocated compute 416 // nodes of the container service. 417 Scale pulumi.IntInput 418 // Map of container service tags. To tag at launch, specify the tags in the Launch Template. If 419 // configured with a provider 420 // `defaultTags` configuration block 421 // present, tags with matching keys will overwrite those defined at the provider-level. 422 Tags pulumi.StringMapInput 423 } 424 425 func (ContainerServiceArgs) ElementType() reflect.Type { 426 return reflect.TypeOf((*containerServiceArgs)(nil)).Elem() 427 } 428 429 type ContainerServiceInput interface { 430 pulumi.Input 431 432 ToContainerServiceOutput() ContainerServiceOutput 433 ToContainerServiceOutputWithContext(ctx context.Context) ContainerServiceOutput 434 } 435 436 func (*ContainerService) ElementType() reflect.Type { 437 return reflect.TypeOf((**ContainerService)(nil)).Elem() 438 } 439 440 func (i *ContainerService) ToContainerServiceOutput() ContainerServiceOutput { 441 return i.ToContainerServiceOutputWithContext(context.Background()) 442 } 443 444 func (i *ContainerService) ToContainerServiceOutputWithContext(ctx context.Context) ContainerServiceOutput { 445 return pulumi.ToOutputWithContext(ctx, i).(ContainerServiceOutput) 446 } 447 448 // ContainerServiceArrayInput is an input type that accepts ContainerServiceArray and ContainerServiceArrayOutput values. 449 // You can construct a concrete instance of `ContainerServiceArrayInput` via: 450 // 451 // ContainerServiceArray{ ContainerServiceArgs{...} } 452 type ContainerServiceArrayInput interface { 453 pulumi.Input 454 455 ToContainerServiceArrayOutput() ContainerServiceArrayOutput 456 ToContainerServiceArrayOutputWithContext(context.Context) ContainerServiceArrayOutput 457 } 458 459 type ContainerServiceArray []ContainerServiceInput 460 461 func (ContainerServiceArray) ElementType() reflect.Type { 462 return reflect.TypeOf((*[]*ContainerService)(nil)).Elem() 463 } 464 465 func (i ContainerServiceArray) ToContainerServiceArrayOutput() ContainerServiceArrayOutput { 466 return i.ToContainerServiceArrayOutputWithContext(context.Background()) 467 } 468 469 func (i ContainerServiceArray) ToContainerServiceArrayOutputWithContext(ctx context.Context) ContainerServiceArrayOutput { 470 return pulumi.ToOutputWithContext(ctx, i).(ContainerServiceArrayOutput) 471 } 472 473 // ContainerServiceMapInput is an input type that accepts ContainerServiceMap and ContainerServiceMapOutput values. 474 // You can construct a concrete instance of `ContainerServiceMapInput` via: 475 // 476 // ContainerServiceMap{ "key": ContainerServiceArgs{...} } 477 type ContainerServiceMapInput interface { 478 pulumi.Input 479 480 ToContainerServiceMapOutput() ContainerServiceMapOutput 481 ToContainerServiceMapOutputWithContext(context.Context) ContainerServiceMapOutput 482 } 483 484 type ContainerServiceMap map[string]ContainerServiceInput 485 486 func (ContainerServiceMap) ElementType() reflect.Type { 487 return reflect.TypeOf((*map[string]*ContainerService)(nil)).Elem() 488 } 489 490 func (i ContainerServiceMap) ToContainerServiceMapOutput() ContainerServiceMapOutput { 491 return i.ToContainerServiceMapOutputWithContext(context.Background()) 492 } 493 494 func (i ContainerServiceMap) ToContainerServiceMapOutputWithContext(ctx context.Context) ContainerServiceMapOutput { 495 return pulumi.ToOutputWithContext(ctx, i).(ContainerServiceMapOutput) 496 } 497 498 type ContainerServiceOutput struct{ *pulumi.OutputState } 499 500 func (ContainerServiceOutput) ElementType() reflect.Type { 501 return reflect.TypeOf((**ContainerService)(nil)).Elem() 502 } 503 504 func (o ContainerServiceOutput) ToContainerServiceOutput() ContainerServiceOutput { 505 return o 506 } 507 508 func (o ContainerServiceOutput) ToContainerServiceOutputWithContext(ctx context.Context) ContainerServiceOutput { 509 return o 510 } 511 512 // The Amazon Resource Name (ARN) of the container service. 513 func (o ContainerServiceOutput) Arn() pulumi.StringOutput { 514 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 515 } 516 517 // The Availability Zone. Follows the format us-east-2a (case-sensitive). 518 func (o ContainerServiceOutput) AvailabilityZone() pulumi.StringOutput { 519 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 520 } 521 522 func (o ContainerServiceOutput) CreatedAt() pulumi.StringOutput { 523 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) 524 } 525 526 // A Boolean value indicating whether the container service is disabled. Defaults to `false`. 527 func (o ContainerServiceOutput) IsDisabled() pulumi.BoolPtrOutput { 528 return o.ApplyT(func(v *ContainerService) pulumi.BoolPtrOutput { return v.IsDisabled }).(pulumi.BoolPtrOutput) 529 } 530 531 // The name for the container service. Names must be of length 1 to 63, and be 532 // unique within each AWS Region in your Lightsail account. 533 func (o ContainerServiceOutput) Name() pulumi.StringOutput { 534 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 535 } 536 537 // The power specification for the container service. The power specifies the amount of memory, 538 // the number of vCPUs, and the monthly price of each node of the container service. 539 // Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`. 540 func (o ContainerServiceOutput) Power() pulumi.StringOutput { 541 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.Power }).(pulumi.StringOutput) 542 } 543 544 // The ID of the power of the container service. 545 func (o ContainerServiceOutput) PowerId() pulumi.StringOutput { 546 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.PowerId }).(pulumi.StringOutput) 547 } 548 549 // The principal ARN of the container service. The principal ARN can be used to create a trust 550 // relationship between your standard AWS account and your Lightsail container service. This allows you to give your 551 // service permission to access resources in your standard AWS account. 552 func (o ContainerServiceOutput) PrincipalArn() pulumi.StringOutput { 553 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.PrincipalArn }).(pulumi.StringOutput) 554 } 555 556 // The private domain name of the container service. The private domain name is accessible only 557 // by other resources within the default virtual private cloud (VPC) of your Lightsail account. 558 func (o ContainerServiceOutput) PrivateDomainName() pulumi.StringOutput { 559 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.PrivateDomainName }).(pulumi.StringOutput) 560 } 561 562 // An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details. 563 func (o ContainerServiceOutput) PrivateRegistryAccess() ContainerServicePrivateRegistryAccessOutput { 564 return o.ApplyT(func(v *ContainerService) ContainerServicePrivateRegistryAccessOutput { return v.PrivateRegistryAccess }).(ContainerServicePrivateRegistryAccessOutput) 565 } 566 567 // The public domain names to use with the container service, such as example.com 568 // and www.example.com. You can specify up to four public domain names for a container service. The domain names that you 569 // specify are used when you create a deployment with a container configured as the public endpoint of your container 570 // service. If you don't specify public domain names, then you can use the default domain of the container service. 571 // Defined below. 572 func (o ContainerServiceOutput) PublicDomainNames() ContainerServicePublicDomainNamesPtrOutput { 573 return o.ApplyT(func(v *ContainerService) ContainerServicePublicDomainNamesPtrOutput { return v.PublicDomainNames }).(ContainerServicePublicDomainNamesPtrOutput) 574 } 575 576 // The Lightsail resource type of the container service (i.e., ContainerService). 577 func (o ContainerServiceOutput) ResourceType() pulumi.StringOutput { 578 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) 579 } 580 581 // The scale specification for the container service. The scale specifies the allocated compute 582 // nodes of the container service. 583 func (o ContainerServiceOutput) Scale() pulumi.IntOutput { 584 return o.ApplyT(func(v *ContainerService) pulumi.IntOutput { return v.Scale }).(pulumi.IntOutput) 585 } 586 587 // The current state of the container service. 588 func (o ContainerServiceOutput) State() pulumi.StringOutput { 589 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) 590 } 591 592 // Map of container service tags. To tag at launch, specify the tags in the Launch Template. If 593 // configured with a provider 594 // `defaultTags` configuration block 595 // present, tags with matching keys will overwrite those defined at the provider-level. 596 func (o ContainerServiceOutput) Tags() pulumi.StringMapOutput { 597 return o.ApplyT(func(v *ContainerService) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 598 } 599 600 // A map of tags assigned to the resource, including those inherited from the provider 601 // `defaultTags` configuration block. 602 // 603 // Deprecated: Please use `tags` instead. 604 func (o ContainerServiceOutput) TagsAll() pulumi.StringMapOutput { 605 return o.ApplyT(func(v *ContainerService) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 606 } 607 608 // The publicly accessible URL of the container service. If no public endpoint is specified in the 609 // currentDeployment, this URL returns a 404 response. 610 func (o ContainerServiceOutput) Url() pulumi.StringOutput { 611 return o.ApplyT(func(v *ContainerService) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) 612 } 613 614 type ContainerServiceArrayOutput struct{ *pulumi.OutputState } 615 616 func (ContainerServiceArrayOutput) ElementType() reflect.Type { 617 return reflect.TypeOf((*[]*ContainerService)(nil)).Elem() 618 } 619 620 func (o ContainerServiceArrayOutput) ToContainerServiceArrayOutput() ContainerServiceArrayOutput { 621 return o 622 } 623 624 func (o ContainerServiceArrayOutput) ToContainerServiceArrayOutputWithContext(ctx context.Context) ContainerServiceArrayOutput { 625 return o 626 } 627 628 func (o ContainerServiceArrayOutput) Index(i pulumi.IntInput) ContainerServiceOutput { 629 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ContainerService { 630 return vs[0].([]*ContainerService)[vs[1].(int)] 631 }).(ContainerServiceOutput) 632 } 633 634 type ContainerServiceMapOutput struct{ *pulumi.OutputState } 635 636 func (ContainerServiceMapOutput) ElementType() reflect.Type { 637 return reflect.TypeOf((*map[string]*ContainerService)(nil)).Elem() 638 } 639 640 func (o ContainerServiceMapOutput) ToContainerServiceMapOutput() ContainerServiceMapOutput { 641 return o 642 } 643 644 func (o ContainerServiceMapOutput) ToContainerServiceMapOutputWithContext(ctx context.Context) ContainerServiceMapOutput { 645 return o 646 } 647 648 func (o ContainerServiceMapOutput) MapIndex(k pulumi.StringInput) ContainerServiceOutput { 649 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ContainerService { 650 return vs[0].(map[string]*ContainerService)[vs[1].(string)] 651 }).(ContainerServiceOutput) 652 } 653 654 func init() { 655 pulumi.RegisterInputType(reflect.TypeOf((*ContainerServiceInput)(nil)).Elem(), &ContainerService{}) 656 pulumi.RegisterInputType(reflect.TypeOf((*ContainerServiceArrayInput)(nil)).Elem(), ContainerServiceArray{}) 657 pulumi.RegisterInputType(reflect.TypeOf((*ContainerServiceMapInput)(nil)).Elem(), ContainerServiceMap{}) 658 pulumi.RegisterOutputType(ContainerServiceOutput{}) 659 pulumi.RegisterOutputType(ContainerServiceArrayOutput{}) 660 pulumi.RegisterOutputType(ContainerServiceMapOutput{}) 661 }