github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/amp/getWorkspaces.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 amp
     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  // Provides the aliases, ARNs, and workspace IDs of Amazon Prometheus workspaces.
    15  //
    16  // ## Example Usage
    17  //
    18  // The following example returns all of the workspaces in a region:
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp"
    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 := amp.GetWorkspaces(ctx, nil, nil)
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  //
    44  // The following example filters the workspaces by alias. Only the workspaces with
    45  // aliases that begin with the value of `aliasPrefix` will be returned:
    46  //
    47  // <!--Start PulumiCodeChooser -->
    48  // ```go
    49  // package main
    50  //
    51  // import (
    52  //
    53  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp"
    54  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    55  //
    56  // )
    57  //
    58  //	func main() {
    59  //		pulumi.Run(func(ctx *pulumi.Context) error {
    60  //			_, err := amp.GetWorkspaces(ctx, &amp.GetWorkspacesArgs{
    61  //				AliasPrefix: pulumi.StringRef("example"),
    62  //			}, nil)
    63  //			if err != nil {
    64  //				return err
    65  //			}
    66  //			return nil
    67  //		})
    68  //	}
    69  //
    70  // ```
    71  // <!--End PulumiCodeChooser -->
    72  func GetWorkspaces(ctx *pulumi.Context, args *GetWorkspacesArgs, opts ...pulumi.InvokeOption) (*GetWorkspacesResult, error) {
    73  	opts = internal.PkgInvokeDefaultOpts(opts)
    74  	var rv GetWorkspacesResult
    75  	err := ctx.Invoke("aws:amp/getWorkspaces:getWorkspaces", args, &rv, opts...)
    76  	if err != nil {
    77  		return nil, err
    78  	}
    79  	return &rv, nil
    80  }
    81  
    82  // A collection of arguments for invoking getWorkspaces.
    83  type GetWorkspacesArgs struct {
    84  	// Limits results to workspaces with aliases that begin with this value.
    85  	AliasPrefix *string `pulumi:"aliasPrefix"`
    86  }
    87  
    88  // A collection of values returned by getWorkspaces.
    89  type GetWorkspacesResult struct {
    90  	AliasPrefix *string `pulumi:"aliasPrefix"`
    91  	// List of aliases of the matched Prometheus workspaces.
    92  	Aliases []string `pulumi:"aliases"`
    93  	// List of ARNs of the matched Prometheus workspaces.
    94  	Arns []string `pulumi:"arns"`
    95  	// The provider-assigned unique ID for this managed resource.
    96  	Id string `pulumi:"id"`
    97  	// List of workspace IDs of the matched Prometheus workspaces.
    98  	WorkspaceIds []string `pulumi:"workspaceIds"`
    99  }
   100  
   101  func GetWorkspacesOutput(ctx *pulumi.Context, args GetWorkspacesOutputArgs, opts ...pulumi.InvokeOption) GetWorkspacesResultOutput {
   102  	return pulumi.ToOutputWithContext(context.Background(), args).
   103  		ApplyT(func(v interface{}) (GetWorkspacesResult, error) {
   104  			args := v.(GetWorkspacesArgs)
   105  			r, err := GetWorkspaces(ctx, &args, opts...)
   106  			var s GetWorkspacesResult
   107  			if r != nil {
   108  				s = *r
   109  			}
   110  			return s, err
   111  		}).(GetWorkspacesResultOutput)
   112  }
   113  
   114  // A collection of arguments for invoking getWorkspaces.
   115  type GetWorkspacesOutputArgs struct {
   116  	// Limits results to workspaces with aliases that begin with this value.
   117  	AliasPrefix pulumi.StringPtrInput `pulumi:"aliasPrefix"`
   118  }
   119  
   120  func (GetWorkspacesOutputArgs) ElementType() reflect.Type {
   121  	return reflect.TypeOf((*GetWorkspacesArgs)(nil)).Elem()
   122  }
   123  
   124  // A collection of values returned by getWorkspaces.
   125  type GetWorkspacesResultOutput struct{ *pulumi.OutputState }
   126  
   127  func (GetWorkspacesResultOutput) ElementType() reflect.Type {
   128  	return reflect.TypeOf((*GetWorkspacesResult)(nil)).Elem()
   129  }
   130  
   131  func (o GetWorkspacesResultOutput) ToGetWorkspacesResultOutput() GetWorkspacesResultOutput {
   132  	return o
   133  }
   134  
   135  func (o GetWorkspacesResultOutput) ToGetWorkspacesResultOutputWithContext(ctx context.Context) GetWorkspacesResultOutput {
   136  	return o
   137  }
   138  
   139  func (o GetWorkspacesResultOutput) AliasPrefix() pulumi.StringPtrOutput {
   140  	return o.ApplyT(func(v GetWorkspacesResult) *string { return v.AliasPrefix }).(pulumi.StringPtrOutput)
   141  }
   142  
   143  // List of aliases of the matched Prometheus workspaces.
   144  func (o GetWorkspacesResultOutput) Aliases() pulumi.StringArrayOutput {
   145  	return o.ApplyT(func(v GetWorkspacesResult) []string { return v.Aliases }).(pulumi.StringArrayOutput)
   146  }
   147  
   148  // List of ARNs of the matched Prometheus workspaces.
   149  func (o GetWorkspacesResultOutput) Arns() pulumi.StringArrayOutput {
   150  	return o.ApplyT(func(v GetWorkspacesResult) []string { return v.Arns }).(pulumi.StringArrayOutput)
   151  }
   152  
   153  // The provider-assigned unique ID for this managed resource.
   154  func (o GetWorkspacesResultOutput) Id() pulumi.StringOutput {
   155  	return o.ApplyT(func(v GetWorkspacesResult) string { return v.Id }).(pulumi.StringOutput)
   156  }
   157  
   158  // List of workspace IDs of the matched Prometheus workspaces.
   159  func (o GetWorkspacesResultOutput) WorkspaceIds() pulumi.StringArrayOutput {
   160  	return o.ApplyT(func(v GetWorkspacesResult) []string { return v.WorkspaceIds }).(pulumi.StringArrayOutput)
   161  }
   162  
   163  func init() {
   164  	pulumi.RegisterOutputType(GetWorkspacesResultOutput{})
   165  }