github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/apprunner/observabilityConfiguration.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 Observability Configuration.
    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/apprunner"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := apprunner.NewObservabilityConfiguration(ctx, "example", &apprunner.ObservabilityConfigurationArgs{
    33  //				ObservabilityConfigurationName: pulumi.String("example"),
    34  //				TraceConfiguration: &apprunner.ObservabilityConfigurationTraceConfigurationArgs{
    35  //					Vendor: pulumi.String("AWSXRAY"),
    36  //				},
    37  //				Tags: pulumi.StringMap{
    38  //					"Name": pulumi.String("example-apprunner-observability-configuration"),
    39  //				},
    40  //			})
    41  //			if err != nil {
    42  //				return err
    43  //			}
    44  //			return nil
    45  //		})
    46  //	}
    47  //
    48  // ```
    49  // <!--End PulumiCodeChooser -->
    50  //
    51  // ## Import
    52  //
    53  // Using `pulumi import`, import App Runner Observability Configuration using the `arn`. For example:
    54  //
    55  // ```sh
    56  // $ pulumi import aws:apprunner/observabilityConfiguration:ObservabilityConfiguration example arn:aws:apprunner:us-east-1:1234567890:observabilityconfiguration/example/1/d75bc7ea55b71e724fe5c23452fe22a1
    57  // ```
    58  type ObservabilityConfiguration struct {
    59  	pulumi.CustomResourceState
    60  
    61  	// ARN of this observability configuration.
    62  	Arn pulumi.StringOutput `pulumi:"arn"`
    63  	// Whether the observability configuration has the highest `observabilityConfigurationRevision` among all configurations that share the same `observabilityConfigurationName`.
    64  	Latest pulumi.BoolOutput `pulumi:"latest"`
    65  	// Name of the observability configuration.
    66  	ObservabilityConfigurationName pulumi.StringOutput `pulumi:"observabilityConfigurationName"`
    67  	// The revision of this observability configuration.
    68  	ObservabilityConfigurationRevision pulumi.IntOutput `pulumi:"observabilityConfigurationRevision"`
    69  	// Current state of the observability configuration. An INACTIVE configuration revision has been deleted and can't be used. It is permanently removed some time after deletion.
    70  	Status pulumi.StringOutput `pulumi:"status"`
    71  	// 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.
    72  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    73  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    74  	//
    75  	// Deprecated: Please use `tags` instead.
    76  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    77  	// Configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. See Trace Configuration below for more details.
    78  	TraceConfiguration ObservabilityConfigurationTraceConfigurationPtrOutput `pulumi:"traceConfiguration"`
    79  }
    80  
    81  // NewObservabilityConfiguration registers a new resource with the given unique name, arguments, and options.
    82  func NewObservabilityConfiguration(ctx *pulumi.Context,
    83  	name string, args *ObservabilityConfigurationArgs, opts ...pulumi.ResourceOption) (*ObservabilityConfiguration, error) {
    84  	if args == nil {
    85  		return nil, errors.New("missing one or more required arguments")
    86  	}
    87  
    88  	if args.ObservabilityConfigurationName == nil {
    89  		return nil, errors.New("invalid value for required argument 'ObservabilityConfigurationName'")
    90  	}
    91  	opts = internal.PkgResourceDefaultOpts(opts)
    92  	var resource ObservabilityConfiguration
    93  	err := ctx.RegisterResource("aws:apprunner/observabilityConfiguration:ObservabilityConfiguration", name, args, &resource, opts...)
    94  	if err != nil {
    95  		return nil, err
    96  	}
    97  	return &resource, nil
    98  }
    99  
   100  // GetObservabilityConfiguration gets an existing ObservabilityConfiguration resource's state with the given name, ID, and optional
   101  // state properties that are used to uniquely qualify the lookup (nil if not required).
   102  func GetObservabilityConfiguration(ctx *pulumi.Context,
   103  	name string, id pulumi.IDInput, state *ObservabilityConfigurationState, opts ...pulumi.ResourceOption) (*ObservabilityConfiguration, error) {
   104  	var resource ObservabilityConfiguration
   105  	err := ctx.ReadResource("aws:apprunner/observabilityConfiguration:ObservabilityConfiguration", name, id, state, &resource, opts...)
   106  	if err != nil {
   107  		return nil, err
   108  	}
   109  	return &resource, nil
   110  }
   111  
   112  // Input properties used for looking up and filtering ObservabilityConfiguration resources.
   113  type observabilityConfigurationState struct {
   114  	// ARN of this observability configuration.
   115  	Arn *string `pulumi:"arn"`
   116  	// Whether the observability configuration has the highest `observabilityConfigurationRevision` among all configurations that share the same `observabilityConfigurationName`.
   117  	Latest *bool `pulumi:"latest"`
   118  	// Name of the observability configuration.
   119  	ObservabilityConfigurationName *string `pulumi:"observabilityConfigurationName"`
   120  	// The revision of this observability configuration.
   121  	ObservabilityConfigurationRevision *int `pulumi:"observabilityConfigurationRevision"`
   122  	// Current state of the observability configuration. An INACTIVE configuration revision has been deleted and can't be used. It is permanently removed some time after deletion.
   123  	Status *string `pulumi:"status"`
   124  	// 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.
   125  	Tags map[string]string `pulumi:"tags"`
   126  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   127  	//
   128  	// Deprecated: Please use `tags` instead.
   129  	TagsAll map[string]string `pulumi:"tagsAll"`
   130  	// Configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. See Trace Configuration below for more details.
   131  	TraceConfiguration *ObservabilityConfigurationTraceConfiguration `pulumi:"traceConfiguration"`
   132  }
   133  
   134  type ObservabilityConfigurationState struct {
   135  	// ARN of this observability configuration.
   136  	Arn pulumi.StringPtrInput
   137  	// Whether the observability configuration has the highest `observabilityConfigurationRevision` among all configurations that share the same `observabilityConfigurationName`.
   138  	Latest pulumi.BoolPtrInput
   139  	// Name of the observability configuration.
   140  	ObservabilityConfigurationName pulumi.StringPtrInput
   141  	// The revision of this observability configuration.
   142  	ObservabilityConfigurationRevision pulumi.IntPtrInput
   143  	// Current state of the observability configuration. An INACTIVE configuration revision has been deleted and can't be used. It is permanently removed some time after deletion.
   144  	Status pulumi.StringPtrInput
   145  	// 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.
   146  	Tags pulumi.StringMapInput
   147  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   148  	//
   149  	// Deprecated: Please use `tags` instead.
   150  	TagsAll pulumi.StringMapInput
   151  	// Configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. See Trace Configuration below for more details.
   152  	TraceConfiguration ObservabilityConfigurationTraceConfigurationPtrInput
   153  }
   154  
   155  func (ObservabilityConfigurationState) ElementType() reflect.Type {
   156  	return reflect.TypeOf((*observabilityConfigurationState)(nil)).Elem()
   157  }
   158  
   159  type observabilityConfigurationArgs struct {
   160  	// Name of the observability configuration.
   161  	ObservabilityConfigurationName string `pulumi:"observabilityConfigurationName"`
   162  	// 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.
   163  	Tags map[string]string `pulumi:"tags"`
   164  	// Configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. See Trace Configuration below for more details.
   165  	TraceConfiguration *ObservabilityConfigurationTraceConfiguration `pulumi:"traceConfiguration"`
   166  }
   167  
   168  // The set of arguments for constructing a ObservabilityConfiguration resource.
   169  type ObservabilityConfigurationArgs struct {
   170  	// Name of the observability configuration.
   171  	ObservabilityConfigurationName pulumi.StringInput
   172  	// 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.
   173  	Tags pulumi.StringMapInput
   174  	// Configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. See Trace Configuration below for more details.
   175  	TraceConfiguration ObservabilityConfigurationTraceConfigurationPtrInput
   176  }
   177  
   178  func (ObservabilityConfigurationArgs) ElementType() reflect.Type {
   179  	return reflect.TypeOf((*observabilityConfigurationArgs)(nil)).Elem()
   180  }
   181  
   182  type ObservabilityConfigurationInput interface {
   183  	pulumi.Input
   184  
   185  	ToObservabilityConfigurationOutput() ObservabilityConfigurationOutput
   186  	ToObservabilityConfigurationOutputWithContext(ctx context.Context) ObservabilityConfigurationOutput
   187  }
   188  
   189  func (*ObservabilityConfiguration) ElementType() reflect.Type {
   190  	return reflect.TypeOf((**ObservabilityConfiguration)(nil)).Elem()
   191  }
   192  
   193  func (i *ObservabilityConfiguration) ToObservabilityConfigurationOutput() ObservabilityConfigurationOutput {
   194  	return i.ToObservabilityConfigurationOutputWithContext(context.Background())
   195  }
   196  
   197  func (i *ObservabilityConfiguration) ToObservabilityConfigurationOutputWithContext(ctx context.Context) ObservabilityConfigurationOutput {
   198  	return pulumi.ToOutputWithContext(ctx, i).(ObservabilityConfigurationOutput)
   199  }
   200  
   201  // ObservabilityConfigurationArrayInput is an input type that accepts ObservabilityConfigurationArray and ObservabilityConfigurationArrayOutput values.
   202  // You can construct a concrete instance of `ObservabilityConfigurationArrayInput` via:
   203  //
   204  //	ObservabilityConfigurationArray{ ObservabilityConfigurationArgs{...} }
   205  type ObservabilityConfigurationArrayInput interface {
   206  	pulumi.Input
   207  
   208  	ToObservabilityConfigurationArrayOutput() ObservabilityConfigurationArrayOutput
   209  	ToObservabilityConfigurationArrayOutputWithContext(context.Context) ObservabilityConfigurationArrayOutput
   210  }
   211  
   212  type ObservabilityConfigurationArray []ObservabilityConfigurationInput
   213  
   214  func (ObservabilityConfigurationArray) ElementType() reflect.Type {
   215  	return reflect.TypeOf((*[]*ObservabilityConfiguration)(nil)).Elem()
   216  }
   217  
   218  func (i ObservabilityConfigurationArray) ToObservabilityConfigurationArrayOutput() ObservabilityConfigurationArrayOutput {
   219  	return i.ToObservabilityConfigurationArrayOutputWithContext(context.Background())
   220  }
   221  
   222  func (i ObservabilityConfigurationArray) ToObservabilityConfigurationArrayOutputWithContext(ctx context.Context) ObservabilityConfigurationArrayOutput {
   223  	return pulumi.ToOutputWithContext(ctx, i).(ObservabilityConfigurationArrayOutput)
   224  }
   225  
   226  // ObservabilityConfigurationMapInput is an input type that accepts ObservabilityConfigurationMap and ObservabilityConfigurationMapOutput values.
   227  // You can construct a concrete instance of `ObservabilityConfigurationMapInput` via:
   228  //
   229  //	ObservabilityConfigurationMap{ "key": ObservabilityConfigurationArgs{...} }
   230  type ObservabilityConfigurationMapInput interface {
   231  	pulumi.Input
   232  
   233  	ToObservabilityConfigurationMapOutput() ObservabilityConfigurationMapOutput
   234  	ToObservabilityConfigurationMapOutputWithContext(context.Context) ObservabilityConfigurationMapOutput
   235  }
   236  
   237  type ObservabilityConfigurationMap map[string]ObservabilityConfigurationInput
   238  
   239  func (ObservabilityConfigurationMap) ElementType() reflect.Type {
   240  	return reflect.TypeOf((*map[string]*ObservabilityConfiguration)(nil)).Elem()
   241  }
   242  
   243  func (i ObservabilityConfigurationMap) ToObservabilityConfigurationMapOutput() ObservabilityConfigurationMapOutput {
   244  	return i.ToObservabilityConfigurationMapOutputWithContext(context.Background())
   245  }
   246  
   247  func (i ObservabilityConfigurationMap) ToObservabilityConfigurationMapOutputWithContext(ctx context.Context) ObservabilityConfigurationMapOutput {
   248  	return pulumi.ToOutputWithContext(ctx, i).(ObservabilityConfigurationMapOutput)
   249  }
   250  
   251  type ObservabilityConfigurationOutput struct{ *pulumi.OutputState }
   252  
   253  func (ObservabilityConfigurationOutput) ElementType() reflect.Type {
   254  	return reflect.TypeOf((**ObservabilityConfiguration)(nil)).Elem()
   255  }
   256  
   257  func (o ObservabilityConfigurationOutput) ToObservabilityConfigurationOutput() ObservabilityConfigurationOutput {
   258  	return o
   259  }
   260  
   261  func (o ObservabilityConfigurationOutput) ToObservabilityConfigurationOutputWithContext(ctx context.Context) ObservabilityConfigurationOutput {
   262  	return o
   263  }
   264  
   265  // ARN of this observability configuration.
   266  func (o ObservabilityConfigurationOutput) Arn() pulumi.StringOutput {
   267  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   268  }
   269  
   270  // Whether the observability configuration has the highest `observabilityConfigurationRevision` among all configurations that share the same `observabilityConfigurationName`.
   271  func (o ObservabilityConfigurationOutput) Latest() pulumi.BoolOutput {
   272  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.BoolOutput { return v.Latest }).(pulumi.BoolOutput)
   273  }
   274  
   275  // Name of the observability configuration.
   276  func (o ObservabilityConfigurationOutput) ObservabilityConfigurationName() pulumi.StringOutput {
   277  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.StringOutput { return v.ObservabilityConfigurationName }).(pulumi.StringOutput)
   278  }
   279  
   280  // The revision of this observability configuration.
   281  func (o ObservabilityConfigurationOutput) ObservabilityConfigurationRevision() pulumi.IntOutput {
   282  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.IntOutput { return v.ObservabilityConfigurationRevision }).(pulumi.IntOutput)
   283  }
   284  
   285  // Current state of the observability configuration. An INACTIVE configuration revision has been deleted and can't be used. It is permanently removed some time after deletion.
   286  func (o ObservabilityConfigurationOutput) Status() pulumi.StringOutput {
   287  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   288  }
   289  
   290  // 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.
   291  func (o ObservabilityConfigurationOutput) Tags() pulumi.StringMapOutput {
   292  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   293  }
   294  
   295  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   296  //
   297  // Deprecated: Please use `tags` instead.
   298  func (o ObservabilityConfigurationOutput) TagsAll() pulumi.StringMapOutput {
   299  	return o.ApplyT(func(v *ObservabilityConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   300  }
   301  
   302  // Configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. See Trace Configuration below for more details.
   303  func (o ObservabilityConfigurationOutput) TraceConfiguration() ObservabilityConfigurationTraceConfigurationPtrOutput {
   304  	return o.ApplyT(func(v *ObservabilityConfiguration) ObservabilityConfigurationTraceConfigurationPtrOutput {
   305  		return v.TraceConfiguration
   306  	}).(ObservabilityConfigurationTraceConfigurationPtrOutput)
   307  }
   308  
   309  type ObservabilityConfigurationArrayOutput struct{ *pulumi.OutputState }
   310  
   311  func (ObservabilityConfigurationArrayOutput) ElementType() reflect.Type {
   312  	return reflect.TypeOf((*[]*ObservabilityConfiguration)(nil)).Elem()
   313  }
   314  
   315  func (o ObservabilityConfigurationArrayOutput) ToObservabilityConfigurationArrayOutput() ObservabilityConfigurationArrayOutput {
   316  	return o
   317  }
   318  
   319  func (o ObservabilityConfigurationArrayOutput) ToObservabilityConfigurationArrayOutputWithContext(ctx context.Context) ObservabilityConfigurationArrayOutput {
   320  	return o
   321  }
   322  
   323  func (o ObservabilityConfigurationArrayOutput) Index(i pulumi.IntInput) ObservabilityConfigurationOutput {
   324  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ObservabilityConfiguration {
   325  		return vs[0].([]*ObservabilityConfiguration)[vs[1].(int)]
   326  	}).(ObservabilityConfigurationOutput)
   327  }
   328  
   329  type ObservabilityConfigurationMapOutput struct{ *pulumi.OutputState }
   330  
   331  func (ObservabilityConfigurationMapOutput) ElementType() reflect.Type {
   332  	return reflect.TypeOf((*map[string]*ObservabilityConfiguration)(nil)).Elem()
   333  }
   334  
   335  func (o ObservabilityConfigurationMapOutput) ToObservabilityConfigurationMapOutput() ObservabilityConfigurationMapOutput {
   336  	return o
   337  }
   338  
   339  func (o ObservabilityConfigurationMapOutput) ToObservabilityConfigurationMapOutputWithContext(ctx context.Context) ObservabilityConfigurationMapOutput {
   340  	return o
   341  }
   342  
   343  func (o ObservabilityConfigurationMapOutput) MapIndex(k pulumi.StringInput) ObservabilityConfigurationOutput {
   344  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ObservabilityConfiguration {
   345  		return vs[0].(map[string]*ObservabilityConfiguration)[vs[1].(string)]
   346  	}).(ObservabilityConfigurationOutput)
   347  }
   348  
   349  func init() {
   350  	pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityConfigurationInput)(nil)).Elem(), &ObservabilityConfiguration{})
   351  	pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityConfigurationArrayInput)(nil)).Elem(), ObservabilityConfigurationArray{})
   352  	pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityConfigurationMapInput)(nil)).Elem(), ObservabilityConfigurationMap{})
   353  	pulumi.RegisterOutputType(ObservabilityConfigurationOutput{})
   354  	pulumi.RegisterOutputType(ObservabilityConfigurationArrayOutput{})
   355  	pulumi.RegisterOutputType(ObservabilityConfigurationMapOutput{})
   356  }