github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/outposts/getAssets.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 outposts
     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  // Information about hardware assets in an Outpost.
    15  //
    16  // ## Example Usage
    17  //
    18  // ### Basic
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := outposts.GetAssets(ctx, &outposts.GetAssetsArgs{
    34  //				Arn: exampleAwsOutpostsOutpost.Arn,
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  //
    46  // ### With Host ID Filter
    47  //
    48  // <!--Start PulumiCodeChooser -->
    49  // ```go
    50  // package main
    51  //
    52  // import (
    53  //
    54  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts"
    55  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    56  //
    57  // )
    58  //
    59  //	func main() {
    60  //		pulumi.Run(func(ctx *pulumi.Context) error {
    61  //			_, err := outposts.GetAssets(ctx, &outposts.GetAssetsArgs{
    62  //				Arn: exampleAwsOutpostsOutpost.Arn,
    63  //				HostIdFilters: []string{
    64  //					"h-x38g5n0yd2a0ueb61",
    65  //				},
    66  //			}, nil)
    67  //			if err != nil {
    68  //				return err
    69  //			}
    70  //			return nil
    71  //		})
    72  //	}
    73  //
    74  // ```
    75  // <!--End PulumiCodeChooser -->
    76  //
    77  // ### With Status ID Filter
    78  //
    79  // <!--Start PulumiCodeChooser -->
    80  // ```go
    81  // package main
    82  //
    83  // import (
    84  //
    85  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts"
    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 := outposts.GetAssets(ctx, &outposts.GetAssetsArgs{
    93  //				Arn: exampleAwsOutpostsOutpost.Arn,
    94  //				StatusIdFilters: []string{
    95  //					"ACTIVE",
    96  //				},
    97  //			}, nil)
    98  //			if err != nil {
    99  //				return err
   100  //			}
   101  //			return nil
   102  //		})
   103  //	}
   104  //
   105  // ```
   106  // <!--End PulumiCodeChooser -->
   107  func GetAssets(ctx *pulumi.Context, args *GetAssetsArgs, opts ...pulumi.InvokeOption) (*GetAssetsResult, error) {
   108  	opts = internal.PkgInvokeDefaultOpts(opts)
   109  	var rv GetAssetsResult
   110  	err := ctx.Invoke("aws:outposts/getAssets:getAssets", args, &rv, opts...)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &rv, nil
   115  }
   116  
   117  // A collection of arguments for invoking getAssets.
   118  type GetAssetsArgs struct {
   119  	// Outpost ARN.
   120  	Arn string `pulumi:"arn"`
   121  	// Filters by list of Host IDs of a Dedicated Host.
   122  	HostIdFilters []string `pulumi:"hostIdFilters"`
   123  	// Filters by list of state status. Valid values: "ACTIVE", "RETIRING".
   124  	StatusIdFilters []string `pulumi:"statusIdFilters"`
   125  }
   126  
   127  // A collection of values returned by getAssets.
   128  type GetAssetsResult struct {
   129  	Arn string `pulumi:"arn"`
   130  	// List of all the asset ids found. This data source will fail if none are found.
   131  	AssetIds      []string `pulumi:"assetIds"`
   132  	HostIdFilters []string `pulumi:"hostIdFilters"`
   133  	// The provider-assigned unique ID for this managed resource.
   134  	Id              string   `pulumi:"id"`
   135  	StatusIdFilters []string `pulumi:"statusIdFilters"`
   136  }
   137  
   138  func GetAssetsOutput(ctx *pulumi.Context, args GetAssetsOutputArgs, opts ...pulumi.InvokeOption) GetAssetsResultOutput {
   139  	return pulumi.ToOutputWithContext(context.Background(), args).
   140  		ApplyT(func(v interface{}) (GetAssetsResult, error) {
   141  			args := v.(GetAssetsArgs)
   142  			r, err := GetAssets(ctx, &args, opts...)
   143  			var s GetAssetsResult
   144  			if r != nil {
   145  				s = *r
   146  			}
   147  			return s, err
   148  		}).(GetAssetsResultOutput)
   149  }
   150  
   151  // A collection of arguments for invoking getAssets.
   152  type GetAssetsOutputArgs struct {
   153  	// Outpost ARN.
   154  	Arn pulumi.StringInput `pulumi:"arn"`
   155  	// Filters by list of Host IDs of a Dedicated Host.
   156  	HostIdFilters pulumi.StringArrayInput `pulumi:"hostIdFilters"`
   157  	// Filters by list of state status. Valid values: "ACTIVE", "RETIRING".
   158  	StatusIdFilters pulumi.StringArrayInput `pulumi:"statusIdFilters"`
   159  }
   160  
   161  func (GetAssetsOutputArgs) ElementType() reflect.Type {
   162  	return reflect.TypeOf((*GetAssetsArgs)(nil)).Elem()
   163  }
   164  
   165  // A collection of values returned by getAssets.
   166  type GetAssetsResultOutput struct{ *pulumi.OutputState }
   167  
   168  func (GetAssetsResultOutput) ElementType() reflect.Type {
   169  	return reflect.TypeOf((*GetAssetsResult)(nil)).Elem()
   170  }
   171  
   172  func (o GetAssetsResultOutput) ToGetAssetsResultOutput() GetAssetsResultOutput {
   173  	return o
   174  }
   175  
   176  func (o GetAssetsResultOutput) ToGetAssetsResultOutputWithContext(ctx context.Context) GetAssetsResultOutput {
   177  	return o
   178  }
   179  
   180  func (o GetAssetsResultOutput) Arn() pulumi.StringOutput {
   181  	return o.ApplyT(func(v GetAssetsResult) string { return v.Arn }).(pulumi.StringOutput)
   182  }
   183  
   184  // List of all the asset ids found. This data source will fail if none are found.
   185  func (o GetAssetsResultOutput) AssetIds() pulumi.StringArrayOutput {
   186  	return o.ApplyT(func(v GetAssetsResult) []string { return v.AssetIds }).(pulumi.StringArrayOutput)
   187  }
   188  
   189  func (o GetAssetsResultOutput) HostIdFilters() pulumi.StringArrayOutput {
   190  	return o.ApplyT(func(v GetAssetsResult) []string { return v.HostIdFilters }).(pulumi.StringArrayOutput)
   191  }
   192  
   193  // The provider-assigned unique ID for this managed resource.
   194  func (o GetAssetsResultOutput) Id() pulumi.StringOutput {
   195  	return o.ApplyT(func(v GetAssetsResult) string { return v.Id }).(pulumi.StringOutput)
   196  }
   197  
   198  func (o GetAssetsResultOutput) StatusIdFilters() pulumi.StringArrayOutput {
   199  	return o.ApplyT(func(v GetAssetsResult) []string { return v.StatusIdFilters }).(pulumi.StringArrayOutput)
   200  }
   201  
   202  func init() {
   203  	pulumi.RegisterOutputType(GetAssetsResultOutput{})
   204  }