github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ecs/getContainerDefinition.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 ecs
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // The ECS container definition data source allows access to details of
    15  // a specific container within an AWS ECS service.
    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/ecs"
    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 := ecs.GetContainerDefinition(ctx, &ecs.GetContainerDefinitionArgs{
    33  //				TaskDefinition: mongo.Id,
    34  //				ContainerName:  "mongodb",
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  func GetContainerDefinition(ctx *pulumi.Context, args *GetContainerDefinitionArgs, opts ...pulumi.InvokeOption) (*GetContainerDefinitionResult, error) {
    46  	opts = internal.PkgInvokeDefaultOpts(opts)
    47  	var rv GetContainerDefinitionResult
    48  	err := ctx.Invoke("aws:ecs/getContainerDefinition:getContainerDefinition", args, &rv, opts...)
    49  	if err != nil {
    50  		return nil, err
    51  	}
    52  	return &rv, nil
    53  }
    54  
    55  // A collection of arguments for invoking getContainerDefinition.
    56  type GetContainerDefinitionArgs struct {
    57  	// Name of the container definition
    58  	ContainerName string `pulumi:"containerName"`
    59  	// ARN of the task definition which contains the container
    60  	TaskDefinition string `pulumi:"taskDefinition"`
    61  }
    62  
    63  // A collection of values returned by getContainerDefinition.
    64  type GetContainerDefinitionResult struct {
    65  	ContainerName string `pulumi:"containerName"`
    66  	// CPU limit for this container definition
    67  	Cpu int `pulumi:"cpu"`
    68  	// Indicator if networking is disabled
    69  	DisableNetworking bool `pulumi:"disableNetworking"`
    70  	// Set docker labels
    71  	DockerLabels map[string]string `pulumi:"dockerLabels"`
    72  	// Environment in use
    73  	Environment map[string]string `pulumi:"environment"`
    74  	// The provider-assigned unique ID for this managed resource.
    75  	Id string `pulumi:"id"`
    76  	// Docker image in use, including the digest
    77  	Image string `pulumi:"image"`
    78  	// Digest of the docker image in use
    79  	ImageDigest string `pulumi:"imageDigest"`
    80  	// Memory limit for this container definition
    81  	Memory int `pulumi:"memory"`
    82  	// Soft limit (in MiB) of memory to reserve for the container. When system memory is under contention, Docker attempts to keep the container memory to this soft limit
    83  	MemoryReservation int    `pulumi:"memoryReservation"`
    84  	TaskDefinition    string `pulumi:"taskDefinition"`
    85  }
    86  
    87  func GetContainerDefinitionOutput(ctx *pulumi.Context, args GetContainerDefinitionOutputArgs, opts ...pulumi.InvokeOption) GetContainerDefinitionResultOutput {
    88  	return pulumi.ToOutputWithContext(context.Background(), args).
    89  		ApplyT(func(v interface{}) (GetContainerDefinitionResult, error) {
    90  			args := v.(GetContainerDefinitionArgs)
    91  			r, err := GetContainerDefinition(ctx, &args, opts...)
    92  			var s GetContainerDefinitionResult
    93  			if r != nil {
    94  				s = *r
    95  			}
    96  			return s, err
    97  		}).(GetContainerDefinitionResultOutput)
    98  }
    99  
   100  // A collection of arguments for invoking getContainerDefinition.
   101  type GetContainerDefinitionOutputArgs struct {
   102  	// Name of the container definition
   103  	ContainerName pulumi.StringInput `pulumi:"containerName"`
   104  	// ARN of the task definition which contains the container
   105  	TaskDefinition pulumi.StringInput `pulumi:"taskDefinition"`
   106  }
   107  
   108  func (GetContainerDefinitionOutputArgs) ElementType() reflect.Type {
   109  	return reflect.TypeOf((*GetContainerDefinitionArgs)(nil)).Elem()
   110  }
   111  
   112  // A collection of values returned by getContainerDefinition.
   113  type GetContainerDefinitionResultOutput struct{ *pulumi.OutputState }
   114  
   115  func (GetContainerDefinitionResultOutput) ElementType() reflect.Type {
   116  	return reflect.TypeOf((*GetContainerDefinitionResult)(nil)).Elem()
   117  }
   118  
   119  func (o GetContainerDefinitionResultOutput) ToGetContainerDefinitionResultOutput() GetContainerDefinitionResultOutput {
   120  	return o
   121  }
   122  
   123  func (o GetContainerDefinitionResultOutput) ToGetContainerDefinitionResultOutputWithContext(ctx context.Context) GetContainerDefinitionResultOutput {
   124  	return o
   125  }
   126  
   127  func (o GetContainerDefinitionResultOutput) ContainerName() pulumi.StringOutput {
   128  	return o.ApplyT(func(v GetContainerDefinitionResult) string { return v.ContainerName }).(pulumi.StringOutput)
   129  }
   130  
   131  // CPU limit for this container definition
   132  func (o GetContainerDefinitionResultOutput) Cpu() pulumi.IntOutput {
   133  	return o.ApplyT(func(v GetContainerDefinitionResult) int { return v.Cpu }).(pulumi.IntOutput)
   134  }
   135  
   136  // Indicator if networking is disabled
   137  func (o GetContainerDefinitionResultOutput) DisableNetworking() pulumi.BoolOutput {
   138  	return o.ApplyT(func(v GetContainerDefinitionResult) bool { return v.DisableNetworking }).(pulumi.BoolOutput)
   139  }
   140  
   141  // Set docker labels
   142  func (o GetContainerDefinitionResultOutput) DockerLabels() pulumi.StringMapOutput {
   143  	return o.ApplyT(func(v GetContainerDefinitionResult) map[string]string { return v.DockerLabels }).(pulumi.StringMapOutput)
   144  }
   145  
   146  // Environment in use
   147  func (o GetContainerDefinitionResultOutput) Environment() pulumi.StringMapOutput {
   148  	return o.ApplyT(func(v GetContainerDefinitionResult) map[string]string { return v.Environment }).(pulumi.StringMapOutput)
   149  }
   150  
   151  // The provider-assigned unique ID for this managed resource.
   152  func (o GetContainerDefinitionResultOutput) Id() pulumi.StringOutput {
   153  	return o.ApplyT(func(v GetContainerDefinitionResult) string { return v.Id }).(pulumi.StringOutput)
   154  }
   155  
   156  // Docker image in use, including the digest
   157  func (o GetContainerDefinitionResultOutput) Image() pulumi.StringOutput {
   158  	return o.ApplyT(func(v GetContainerDefinitionResult) string { return v.Image }).(pulumi.StringOutput)
   159  }
   160  
   161  // Digest of the docker image in use
   162  func (o GetContainerDefinitionResultOutput) ImageDigest() pulumi.StringOutput {
   163  	return o.ApplyT(func(v GetContainerDefinitionResult) string { return v.ImageDigest }).(pulumi.StringOutput)
   164  }
   165  
   166  // Memory limit for this container definition
   167  func (o GetContainerDefinitionResultOutput) Memory() pulumi.IntOutput {
   168  	return o.ApplyT(func(v GetContainerDefinitionResult) int { return v.Memory }).(pulumi.IntOutput)
   169  }
   170  
   171  // Soft limit (in MiB) of memory to reserve for the container. When system memory is under contention, Docker attempts to keep the container memory to this soft limit
   172  func (o GetContainerDefinitionResultOutput) MemoryReservation() pulumi.IntOutput {
   173  	return o.ApplyT(func(v GetContainerDefinitionResult) int { return v.MemoryReservation }).(pulumi.IntOutput)
   174  }
   175  
   176  func (o GetContainerDefinitionResultOutput) TaskDefinition() pulumi.StringOutput {
   177  	return o.ApplyT(func(v GetContainerDefinitionResult) string { return v.TaskDefinition }).(pulumi.StringOutput)
   178  }
   179  
   180  func init() {
   181  	pulumi.RegisterOutputType(GetContainerDefinitionResultOutput{})
   182  }