github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/apprunner/service.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 apprunner
     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 an App Runner Service.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Service with a Code Repository Source
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := apprunner.NewService(ctx, "example", &apprunner.ServiceArgs{
    35  //				ServiceName: pulumi.String("example"),
    36  //				SourceConfiguration: &apprunner.ServiceSourceConfigurationArgs{
    37  //					AuthenticationConfiguration: &apprunner.ServiceSourceConfigurationAuthenticationConfigurationArgs{
    38  //						ConnectionArn: pulumi.Any(exampleAwsApprunnerConnection.Arn),
    39  //					},
    40  //					CodeRepository: &apprunner.ServiceSourceConfigurationCodeRepositoryArgs{
    41  //						CodeConfiguration: &apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs{
    42  //							CodeConfigurationValues: &apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs{
    43  //								BuildCommand: pulumi.String("python setup.py develop"),
    44  //								Port:         pulumi.String("8000"),
    45  //								Runtime:      pulumi.String("PYTHON_3"),
    46  //								StartCommand: pulumi.String("python runapp.py"),
    47  //							},
    48  //							ConfigurationSource: pulumi.String("API"),
    49  //						},
    50  //						RepositoryUrl: pulumi.String("https://github.com/example/my-example-python-app"),
    51  //						SourceCodeVersion: &apprunner.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs{
    52  //							Type:  pulumi.String("BRANCH"),
    53  //							Value: pulumi.String("main"),
    54  //						},
    55  //					},
    56  //				},
    57  //				NetworkConfiguration: &apprunner.ServiceNetworkConfigurationArgs{
    58  //					EgressConfiguration: &apprunner.ServiceNetworkConfigurationEgressConfigurationArgs{
    59  //						EgressType:      pulumi.String("VPC"),
    60  //						VpcConnectorArn: pulumi.Any(connector.Arn),
    61  //					},
    62  //				},
    63  //				Tags: pulumi.StringMap{
    64  //					"Name": pulumi.String("example-apprunner-service"),
    65  //				},
    66  //			})
    67  //			if err != nil {
    68  //				return err
    69  //			}
    70  //			return nil
    71  //		})
    72  //	}
    73  //
    74  // ```
    75  // <!--End PulumiCodeChooser -->
    76  //
    77  // ### Service with an Image Repository Source
    78  //
    79  // <!--Start PulumiCodeChooser -->
    80  // ```go
    81  // package main
    82  //
    83  // import (
    84  //
    85  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner"
    86  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    87  //
    88  // )
    89  //
    90  //	func main() {
    91  //		pulumi.Run(func(ctx *pulumi.Context) error {
    92  //			_, err := apprunner.NewService(ctx, "example", &apprunner.ServiceArgs{
    93  //				ServiceName: pulumi.String("example"),
    94  //				SourceConfiguration: &apprunner.ServiceSourceConfigurationArgs{
    95  //					ImageRepository: &apprunner.ServiceSourceConfigurationImageRepositoryArgs{
    96  //						ImageConfiguration: &apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs{
    97  //							Port: pulumi.String("8000"),
    98  //						},
    99  //						ImageIdentifier:     pulumi.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
   100  //						ImageRepositoryType: pulumi.String("ECR_PUBLIC"),
   101  //					},
   102  //					AutoDeploymentsEnabled: pulumi.Bool(false),
   103  //				},
   104  //				Tags: pulumi.StringMap{
   105  //					"Name": pulumi.String("example-apprunner-service"),
   106  //				},
   107  //			})
   108  //			if err != nil {
   109  //				return err
   110  //			}
   111  //			return nil
   112  //		})
   113  //	}
   114  //
   115  // ```
   116  // <!--End PulumiCodeChooser -->
   117  //
   118  // ### Service with Observability Configuration
   119  //
   120  // <!--Start PulumiCodeChooser -->
   121  // ```go
   122  // package main
   123  //
   124  // import (
   125  //
   126  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner"
   127  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   128  //
   129  // )
   130  //
   131  //	func main() {
   132  //		pulumi.Run(func(ctx *pulumi.Context) error {
   133  //			exampleObservabilityConfiguration, err := apprunner.NewObservabilityConfiguration(ctx, "example", &apprunner.ObservabilityConfigurationArgs{
   134  //				ObservabilityConfigurationName: pulumi.String("example"),
   135  //				TraceConfiguration: &apprunner.ObservabilityConfigurationTraceConfigurationArgs{
   136  //					Vendor: pulumi.String("AWSXRAY"),
   137  //				},
   138  //			})
   139  //			if err != nil {
   140  //				return err
   141  //			}
   142  //			_, err = apprunner.NewService(ctx, "example", &apprunner.ServiceArgs{
   143  //				ServiceName: pulumi.String("example"),
   144  //				ObservabilityConfiguration: &apprunner.ServiceObservabilityConfigurationArgs{
   145  //					ObservabilityConfigurationArn: exampleObservabilityConfiguration.Arn,
   146  //					ObservabilityEnabled:          pulumi.Bool(true),
   147  //				},
   148  //				SourceConfiguration: &apprunner.ServiceSourceConfigurationArgs{
   149  //					ImageRepository: &apprunner.ServiceSourceConfigurationImageRepositoryArgs{
   150  //						ImageConfiguration: &apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs{
   151  //							Port: pulumi.String("8000"),
   152  //						},
   153  //						ImageIdentifier:     pulumi.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
   154  //						ImageRepositoryType: pulumi.String("ECR_PUBLIC"),
   155  //					},
   156  //					AutoDeploymentsEnabled: pulumi.Bool(false),
   157  //				},
   158  //				Tags: pulumi.StringMap{
   159  //					"Name": pulumi.String("example-apprunner-service"),
   160  //				},
   161  //			})
   162  //			if err != nil {
   163  //				return err
   164  //			}
   165  //			return nil
   166  //		})
   167  //	}
   168  //
   169  // ```
   170  // <!--End PulumiCodeChooser -->
   171  //
   172  // ## Import
   173  //
   174  // Using `pulumi import`, import App Runner Services using the `arn`. For example:
   175  //
   176  // ```sh
   177  // $ pulumi import aws:apprunner/service:Service example arn:aws:apprunner:us-east-1:1234567890:service/example/0a03292a89764e5882c41d8f991c82fe
   178  // ```
   179  type Service struct {
   180  	pulumi.CustomResourceState
   181  
   182  	// ARN of the App Runner service.
   183  	Arn pulumi.StringOutput `pulumi:"arn"`
   184  	// ARN of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.
   185  	AutoScalingConfigurationArn pulumi.StringOutput `pulumi:"autoScalingConfigurationArn"`
   186  	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed CMK. See Encryption Configuration below for more details.
   187  	EncryptionConfiguration ServiceEncryptionConfigurationPtrOutput `pulumi:"encryptionConfiguration"`
   188  	// Settings of the health check that AWS App Runner performs to monitor the health of your service. See Health Check Configuration below for more details.
   189  	HealthCheckConfiguration ServiceHealthCheckConfigurationOutput `pulumi:"healthCheckConfiguration"`
   190  	// The runtime configuration of instances (scaling units) of the App Runner service. See Instance Configuration below for more details.
   191  	InstanceConfiguration ServiceInstanceConfigurationOutput `pulumi:"instanceConfiguration"`
   192  	// Configuration settings related to network traffic of the web application that the App Runner service runs. See Network Configuration below for more details.
   193  	NetworkConfiguration ServiceNetworkConfigurationOutput `pulumi:"networkConfiguration"`
   194  	// The observability configuration of your service. See Observability Configuration below for more details.
   195  	ObservabilityConfiguration ServiceObservabilityConfigurationPtrOutput `pulumi:"observabilityConfiguration"`
   196  	// An alphanumeric ID that App Runner generated for this service. Unique within the AWS Region.
   197  	ServiceId pulumi.StringOutput `pulumi:"serviceId"`
   198  	// Name of the service.
   199  	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
   200  	// Subdomain URL that App Runner generated for this service. You can use this URL to access your service web application.
   201  	ServiceUrl pulumi.StringOutput `pulumi:"serviceUrl"`
   202  	// The source to deploy to the App Runner service. Can be a code or an image repository. See Source Configuration below for more details.
   203  	//
   204  	// The following arguments are optional:
   205  	SourceConfiguration ServiceSourceConfigurationOutput `pulumi:"sourceConfiguration"`
   206  	// Current state of the App Runner service.
   207  	Status pulumi.StringOutput `pulumi:"status"`
   208  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   209  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   210  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   211  	//
   212  	// Deprecated: Please use `tags` instead.
   213  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   214  }
   215  
   216  // NewService registers a new resource with the given unique name, arguments, and options.
   217  func NewService(ctx *pulumi.Context,
   218  	name string, args *ServiceArgs, opts ...pulumi.ResourceOption) (*Service, error) {
   219  	if args == nil {
   220  		return nil, errors.New("missing one or more required arguments")
   221  	}
   222  
   223  	if args.ServiceName == nil {
   224  		return nil, errors.New("invalid value for required argument 'ServiceName'")
   225  	}
   226  	if args.SourceConfiguration == nil {
   227  		return nil, errors.New("invalid value for required argument 'SourceConfiguration'")
   228  	}
   229  	opts = internal.PkgResourceDefaultOpts(opts)
   230  	var resource Service
   231  	err := ctx.RegisterResource("aws:apprunner/service:Service", name, args, &resource, opts...)
   232  	if err != nil {
   233  		return nil, err
   234  	}
   235  	return &resource, nil
   236  }
   237  
   238  // GetService gets an existing Service resource's state with the given name, ID, and optional
   239  // state properties that are used to uniquely qualify the lookup (nil if not required).
   240  func GetService(ctx *pulumi.Context,
   241  	name string, id pulumi.IDInput, state *ServiceState, opts ...pulumi.ResourceOption) (*Service, error) {
   242  	var resource Service
   243  	err := ctx.ReadResource("aws:apprunner/service:Service", name, id, state, &resource, opts...)
   244  	if err != nil {
   245  		return nil, err
   246  	}
   247  	return &resource, nil
   248  }
   249  
   250  // Input properties used for looking up and filtering Service resources.
   251  type serviceState struct {
   252  	// ARN of the App Runner service.
   253  	Arn *string `pulumi:"arn"`
   254  	// ARN of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.
   255  	AutoScalingConfigurationArn *string `pulumi:"autoScalingConfigurationArn"`
   256  	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed CMK. See Encryption Configuration below for more details.
   257  	EncryptionConfiguration *ServiceEncryptionConfiguration `pulumi:"encryptionConfiguration"`
   258  	// Settings of the health check that AWS App Runner performs to monitor the health of your service. See Health Check Configuration below for more details.
   259  	HealthCheckConfiguration *ServiceHealthCheckConfiguration `pulumi:"healthCheckConfiguration"`
   260  	// The runtime configuration of instances (scaling units) of the App Runner service. See Instance Configuration below for more details.
   261  	InstanceConfiguration *ServiceInstanceConfiguration `pulumi:"instanceConfiguration"`
   262  	// Configuration settings related to network traffic of the web application that the App Runner service runs. See Network Configuration below for more details.
   263  	NetworkConfiguration *ServiceNetworkConfiguration `pulumi:"networkConfiguration"`
   264  	// The observability configuration of your service. See Observability Configuration below for more details.
   265  	ObservabilityConfiguration *ServiceObservabilityConfiguration `pulumi:"observabilityConfiguration"`
   266  	// An alphanumeric ID that App Runner generated for this service. Unique within the AWS Region.
   267  	ServiceId *string `pulumi:"serviceId"`
   268  	// Name of the service.
   269  	ServiceName *string `pulumi:"serviceName"`
   270  	// Subdomain URL that App Runner generated for this service. You can use this URL to access your service web application.
   271  	ServiceUrl *string `pulumi:"serviceUrl"`
   272  	// The source to deploy to the App Runner service. Can be a code or an image repository. See Source Configuration below for more details.
   273  	//
   274  	// The following arguments are optional:
   275  	SourceConfiguration *ServiceSourceConfiguration `pulumi:"sourceConfiguration"`
   276  	// Current state of the App Runner service.
   277  	Status *string `pulumi:"status"`
   278  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   279  	Tags map[string]string `pulumi:"tags"`
   280  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   281  	//
   282  	// Deprecated: Please use `tags` instead.
   283  	TagsAll map[string]string `pulumi:"tagsAll"`
   284  }
   285  
   286  type ServiceState struct {
   287  	// ARN of the App Runner service.
   288  	Arn pulumi.StringPtrInput
   289  	// ARN of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.
   290  	AutoScalingConfigurationArn pulumi.StringPtrInput
   291  	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed CMK. See Encryption Configuration below for more details.
   292  	EncryptionConfiguration ServiceEncryptionConfigurationPtrInput
   293  	// Settings of the health check that AWS App Runner performs to monitor the health of your service. See Health Check Configuration below for more details.
   294  	HealthCheckConfiguration ServiceHealthCheckConfigurationPtrInput
   295  	// The runtime configuration of instances (scaling units) of the App Runner service. See Instance Configuration below for more details.
   296  	InstanceConfiguration ServiceInstanceConfigurationPtrInput
   297  	// Configuration settings related to network traffic of the web application that the App Runner service runs. See Network Configuration below for more details.
   298  	NetworkConfiguration ServiceNetworkConfigurationPtrInput
   299  	// The observability configuration of your service. See Observability Configuration below for more details.
   300  	ObservabilityConfiguration ServiceObservabilityConfigurationPtrInput
   301  	// An alphanumeric ID that App Runner generated for this service. Unique within the AWS Region.
   302  	ServiceId pulumi.StringPtrInput
   303  	// Name of the service.
   304  	ServiceName pulumi.StringPtrInput
   305  	// Subdomain URL that App Runner generated for this service. You can use this URL to access your service web application.
   306  	ServiceUrl pulumi.StringPtrInput
   307  	// The source to deploy to the App Runner service. Can be a code or an image repository. See Source Configuration below for more details.
   308  	//
   309  	// The following arguments are optional:
   310  	SourceConfiguration ServiceSourceConfigurationPtrInput
   311  	// Current state of the App Runner service.
   312  	Status pulumi.StringPtrInput
   313  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   314  	Tags pulumi.StringMapInput
   315  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   316  	//
   317  	// Deprecated: Please use `tags` instead.
   318  	TagsAll pulumi.StringMapInput
   319  }
   320  
   321  func (ServiceState) ElementType() reflect.Type {
   322  	return reflect.TypeOf((*serviceState)(nil)).Elem()
   323  }
   324  
   325  type serviceArgs struct {
   326  	// ARN of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.
   327  	AutoScalingConfigurationArn *string `pulumi:"autoScalingConfigurationArn"`
   328  	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed CMK. See Encryption Configuration below for more details.
   329  	EncryptionConfiguration *ServiceEncryptionConfiguration `pulumi:"encryptionConfiguration"`
   330  	// Settings of the health check that AWS App Runner performs to monitor the health of your service. See Health Check Configuration below for more details.
   331  	HealthCheckConfiguration *ServiceHealthCheckConfiguration `pulumi:"healthCheckConfiguration"`
   332  	// The runtime configuration of instances (scaling units) of the App Runner service. See Instance Configuration below for more details.
   333  	InstanceConfiguration *ServiceInstanceConfiguration `pulumi:"instanceConfiguration"`
   334  	// Configuration settings related to network traffic of the web application that the App Runner service runs. See Network Configuration below for more details.
   335  	NetworkConfiguration *ServiceNetworkConfiguration `pulumi:"networkConfiguration"`
   336  	// The observability configuration of your service. See Observability Configuration below for more details.
   337  	ObservabilityConfiguration *ServiceObservabilityConfiguration `pulumi:"observabilityConfiguration"`
   338  	// Name of the service.
   339  	ServiceName string `pulumi:"serviceName"`
   340  	// The source to deploy to the App Runner service. Can be a code or an image repository. See Source Configuration below for more details.
   341  	//
   342  	// The following arguments are optional:
   343  	SourceConfiguration ServiceSourceConfiguration `pulumi:"sourceConfiguration"`
   344  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   345  	Tags map[string]string `pulumi:"tags"`
   346  }
   347  
   348  // The set of arguments for constructing a Service resource.
   349  type ServiceArgs struct {
   350  	// ARN of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.
   351  	AutoScalingConfigurationArn pulumi.StringPtrInput
   352  	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed CMK. See Encryption Configuration below for more details.
   353  	EncryptionConfiguration ServiceEncryptionConfigurationPtrInput
   354  	// Settings of the health check that AWS App Runner performs to monitor the health of your service. See Health Check Configuration below for more details.
   355  	HealthCheckConfiguration ServiceHealthCheckConfigurationPtrInput
   356  	// The runtime configuration of instances (scaling units) of the App Runner service. See Instance Configuration below for more details.
   357  	InstanceConfiguration ServiceInstanceConfigurationPtrInput
   358  	// Configuration settings related to network traffic of the web application that the App Runner service runs. See Network Configuration below for more details.
   359  	NetworkConfiguration ServiceNetworkConfigurationPtrInput
   360  	// The observability configuration of your service. See Observability Configuration below for more details.
   361  	ObservabilityConfiguration ServiceObservabilityConfigurationPtrInput
   362  	// Name of the service.
   363  	ServiceName pulumi.StringInput
   364  	// The source to deploy to the App Runner service. Can be a code or an image repository. See Source Configuration below for more details.
   365  	//
   366  	// The following arguments are optional:
   367  	SourceConfiguration ServiceSourceConfigurationInput
   368  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   369  	Tags pulumi.StringMapInput
   370  }
   371  
   372  func (ServiceArgs) ElementType() reflect.Type {
   373  	return reflect.TypeOf((*serviceArgs)(nil)).Elem()
   374  }
   375  
   376  type ServiceInput interface {
   377  	pulumi.Input
   378  
   379  	ToServiceOutput() ServiceOutput
   380  	ToServiceOutputWithContext(ctx context.Context) ServiceOutput
   381  }
   382  
   383  func (*Service) ElementType() reflect.Type {
   384  	return reflect.TypeOf((**Service)(nil)).Elem()
   385  }
   386  
   387  func (i *Service) ToServiceOutput() ServiceOutput {
   388  	return i.ToServiceOutputWithContext(context.Background())
   389  }
   390  
   391  func (i *Service) ToServiceOutputWithContext(ctx context.Context) ServiceOutput {
   392  	return pulumi.ToOutputWithContext(ctx, i).(ServiceOutput)
   393  }
   394  
   395  // ServiceArrayInput is an input type that accepts ServiceArray and ServiceArrayOutput values.
   396  // You can construct a concrete instance of `ServiceArrayInput` via:
   397  //
   398  //	ServiceArray{ ServiceArgs{...} }
   399  type ServiceArrayInput interface {
   400  	pulumi.Input
   401  
   402  	ToServiceArrayOutput() ServiceArrayOutput
   403  	ToServiceArrayOutputWithContext(context.Context) ServiceArrayOutput
   404  }
   405  
   406  type ServiceArray []ServiceInput
   407  
   408  func (ServiceArray) ElementType() reflect.Type {
   409  	return reflect.TypeOf((*[]*Service)(nil)).Elem()
   410  }
   411  
   412  func (i ServiceArray) ToServiceArrayOutput() ServiceArrayOutput {
   413  	return i.ToServiceArrayOutputWithContext(context.Background())
   414  }
   415  
   416  func (i ServiceArray) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput {
   417  	return pulumi.ToOutputWithContext(ctx, i).(ServiceArrayOutput)
   418  }
   419  
   420  // ServiceMapInput is an input type that accepts ServiceMap and ServiceMapOutput values.
   421  // You can construct a concrete instance of `ServiceMapInput` via:
   422  //
   423  //	ServiceMap{ "key": ServiceArgs{...} }
   424  type ServiceMapInput interface {
   425  	pulumi.Input
   426  
   427  	ToServiceMapOutput() ServiceMapOutput
   428  	ToServiceMapOutputWithContext(context.Context) ServiceMapOutput
   429  }
   430  
   431  type ServiceMap map[string]ServiceInput
   432  
   433  func (ServiceMap) ElementType() reflect.Type {
   434  	return reflect.TypeOf((*map[string]*Service)(nil)).Elem()
   435  }
   436  
   437  func (i ServiceMap) ToServiceMapOutput() ServiceMapOutput {
   438  	return i.ToServiceMapOutputWithContext(context.Background())
   439  }
   440  
   441  func (i ServiceMap) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput {
   442  	return pulumi.ToOutputWithContext(ctx, i).(ServiceMapOutput)
   443  }
   444  
   445  type ServiceOutput struct{ *pulumi.OutputState }
   446  
   447  func (ServiceOutput) ElementType() reflect.Type {
   448  	return reflect.TypeOf((**Service)(nil)).Elem()
   449  }
   450  
   451  func (o ServiceOutput) ToServiceOutput() ServiceOutput {
   452  	return o
   453  }
   454  
   455  func (o ServiceOutput) ToServiceOutputWithContext(ctx context.Context) ServiceOutput {
   456  	return o
   457  }
   458  
   459  // ARN of the App Runner service.
   460  func (o ServiceOutput) Arn() pulumi.StringOutput {
   461  	return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   462  }
   463  
   464  // ARN of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.
   465  func (o ServiceOutput) AutoScalingConfigurationArn() pulumi.StringOutput {
   466  	return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.AutoScalingConfigurationArn }).(pulumi.StringOutput)
   467  }
   468  
   469  // An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed CMK. See Encryption Configuration below for more details.
   470  func (o ServiceOutput) EncryptionConfiguration() ServiceEncryptionConfigurationPtrOutput {
   471  	return o.ApplyT(func(v *Service) ServiceEncryptionConfigurationPtrOutput { return v.EncryptionConfiguration }).(ServiceEncryptionConfigurationPtrOutput)
   472  }
   473  
   474  // Settings of the health check that AWS App Runner performs to monitor the health of your service. See Health Check Configuration below for more details.
   475  func (o ServiceOutput) HealthCheckConfiguration() ServiceHealthCheckConfigurationOutput {
   476  	return o.ApplyT(func(v *Service) ServiceHealthCheckConfigurationOutput { return v.HealthCheckConfiguration }).(ServiceHealthCheckConfigurationOutput)
   477  }
   478  
   479  // The runtime configuration of instances (scaling units) of the App Runner service. See Instance Configuration below for more details.
   480  func (o ServiceOutput) InstanceConfiguration() ServiceInstanceConfigurationOutput {
   481  	return o.ApplyT(func(v *Service) ServiceInstanceConfigurationOutput { return v.InstanceConfiguration }).(ServiceInstanceConfigurationOutput)
   482  }
   483  
   484  // Configuration settings related to network traffic of the web application that the App Runner service runs. See Network Configuration below for more details.
   485  func (o ServiceOutput) NetworkConfiguration() ServiceNetworkConfigurationOutput {
   486  	return o.ApplyT(func(v *Service) ServiceNetworkConfigurationOutput { return v.NetworkConfiguration }).(ServiceNetworkConfigurationOutput)
   487  }
   488  
   489  // The observability configuration of your service. See Observability Configuration below for more details.
   490  func (o ServiceOutput) ObservabilityConfiguration() ServiceObservabilityConfigurationPtrOutput {
   491  	return o.ApplyT(func(v *Service) ServiceObservabilityConfigurationPtrOutput { return v.ObservabilityConfiguration }).(ServiceObservabilityConfigurationPtrOutput)
   492  }
   493  
   494  // An alphanumeric ID that App Runner generated for this service. Unique within the AWS Region.
   495  func (o ServiceOutput) ServiceId() pulumi.StringOutput {
   496  	return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.ServiceId }).(pulumi.StringOutput)
   497  }
   498  
   499  // Name of the service.
   500  func (o ServiceOutput) ServiceName() pulumi.StringOutput {
   501  	return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput)
   502  }
   503  
   504  // Subdomain URL that App Runner generated for this service. You can use this URL to access your service web application.
   505  func (o ServiceOutput) ServiceUrl() pulumi.StringOutput {
   506  	return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.ServiceUrl }).(pulumi.StringOutput)
   507  }
   508  
   509  // The source to deploy to the App Runner service. Can be a code or an image repository. See Source Configuration below for more details.
   510  //
   511  // The following arguments are optional:
   512  func (o ServiceOutput) SourceConfiguration() ServiceSourceConfigurationOutput {
   513  	return o.ApplyT(func(v *Service) ServiceSourceConfigurationOutput { return v.SourceConfiguration }).(ServiceSourceConfigurationOutput)
   514  }
   515  
   516  // Current state of the App Runner service.
   517  func (o ServiceOutput) Status() pulumi.StringOutput {
   518  	return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   519  }
   520  
   521  // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   522  func (o ServiceOutput) Tags() pulumi.StringMapOutput {
   523  	return o.ApplyT(func(v *Service) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   524  }
   525  
   526  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   527  //
   528  // Deprecated: Please use `tags` instead.
   529  func (o ServiceOutput) TagsAll() pulumi.StringMapOutput {
   530  	return o.ApplyT(func(v *Service) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   531  }
   532  
   533  type ServiceArrayOutput struct{ *pulumi.OutputState }
   534  
   535  func (ServiceArrayOutput) ElementType() reflect.Type {
   536  	return reflect.TypeOf((*[]*Service)(nil)).Elem()
   537  }
   538  
   539  func (o ServiceArrayOutput) ToServiceArrayOutput() ServiceArrayOutput {
   540  	return o
   541  }
   542  
   543  func (o ServiceArrayOutput) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput {
   544  	return o
   545  }
   546  
   547  func (o ServiceArrayOutput) Index(i pulumi.IntInput) ServiceOutput {
   548  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Service {
   549  		return vs[0].([]*Service)[vs[1].(int)]
   550  	}).(ServiceOutput)
   551  }
   552  
   553  type ServiceMapOutput struct{ *pulumi.OutputState }
   554  
   555  func (ServiceMapOutput) ElementType() reflect.Type {
   556  	return reflect.TypeOf((*map[string]*Service)(nil)).Elem()
   557  }
   558  
   559  func (o ServiceMapOutput) ToServiceMapOutput() ServiceMapOutput {
   560  	return o
   561  }
   562  
   563  func (o ServiceMapOutput) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput {
   564  	return o
   565  }
   566  
   567  func (o ServiceMapOutput) MapIndex(k pulumi.StringInput) ServiceOutput {
   568  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Service {
   569  		return vs[0].(map[string]*Service)[vs[1].(string)]
   570  	}).(ServiceOutput)
   571  }
   572  
   573  func init() {
   574  	pulumi.RegisterInputType(reflect.TypeOf((*ServiceInput)(nil)).Elem(), &Service{})
   575  	pulumi.RegisterInputType(reflect.TypeOf((*ServiceArrayInput)(nil)).Elem(), ServiceArray{})
   576  	pulumi.RegisterInputType(reflect.TypeOf((*ServiceMapInput)(nil)).Elem(), ServiceMap{})
   577  	pulumi.RegisterOutputType(ServiceOutput{})
   578  	pulumi.RegisterOutputType(ServiceArrayOutput{})
   579  	pulumi.RegisterOutputType(ServiceMapOutput{})
   580  }