github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/inspector/getRulesPackages.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 inspector
     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 Amazon Inspector Classic Rules Packages data source allows access to the list of AWS
    15  // Inspector Rules Packages which can be used by Amazon Inspector Classic within the region
    16  // configured in the provider.
    17  //
    18  // ## Example Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			// Declare the data source
    34  //			rules, err := inspector.GetRulesPackages(ctx, nil, nil)
    35  //			if err != nil {
    36  //				return err
    37  //			}
    38  //			// e.g., Use in aws_inspector_assessment_template
    39  //			group, err := inspector.NewResourceGroup(ctx, "group", &inspector.ResourceGroupArgs{
    40  //				Tags: pulumi.StringMap{
    41  //					"test": pulumi.String("test"),
    42  //				},
    43  //			})
    44  //			if err != nil {
    45  //				return err
    46  //			}
    47  //			assessment, err := inspector.NewAssessmentTarget(ctx, "assessment", &inspector.AssessmentTargetArgs{
    48  //				Name:             pulumi.String("test"),
    49  //				ResourceGroupArn: group.Arn,
    50  //			})
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			_, err = inspector.NewAssessmentTemplate(ctx, "assessment", &inspector.AssessmentTemplateArgs{
    55  //				Name:             pulumi.String("Test"),
    56  //				TargetArn:        assessment.Arn,
    57  //				Duration:         pulumi.Int(60),
    58  //				RulesPackageArns: interface{}(rules.Arns),
    59  //			})
    60  //			if err != nil {
    61  //				return err
    62  //			}
    63  //			return nil
    64  //		})
    65  //	}
    66  //
    67  // ```
    68  // <!--End PulumiCodeChooser -->
    69  func GetRulesPackages(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetRulesPackagesResult, error) {
    70  	opts = internal.PkgInvokeDefaultOpts(opts)
    71  	var rv GetRulesPackagesResult
    72  	err := ctx.Invoke("aws:inspector/getRulesPackages:getRulesPackages", nil, &rv, opts...)
    73  	if err != nil {
    74  		return nil, err
    75  	}
    76  	return &rv, nil
    77  }
    78  
    79  // A collection of values returned by getRulesPackages.
    80  type GetRulesPackagesResult struct {
    81  	// List of the Amazon Inspector Classic Rules Packages arns available in the AWS region.
    82  	Arns []string `pulumi:"arns"`
    83  	// The provider-assigned unique ID for this managed resource.
    84  	Id string `pulumi:"id"`
    85  }
    86  
    87  func GetRulesPackagesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetRulesPackagesResultOutput {
    88  	return pulumi.ToOutput(0).ApplyT(func(int) (GetRulesPackagesResult, error) {
    89  		r, err := GetRulesPackages(ctx, opts...)
    90  		var s GetRulesPackagesResult
    91  		if r != nil {
    92  			s = *r
    93  		}
    94  		return s, err
    95  	}).(GetRulesPackagesResultOutput)
    96  }
    97  
    98  // A collection of values returned by getRulesPackages.
    99  type GetRulesPackagesResultOutput struct{ *pulumi.OutputState }
   100  
   101  func (GetRulesPackagesResultOutput) ElementType() reflect.Type {
   102  	return reflect.TypeOf((*GetRulesPackagesResult)(nil)).Elem()
   103  }
   104  
   105  func (o GetRulesPackagesResultOutput) ToGetRulesPackagesResultOutput() GetRulesPackagesResultOutput {
   106  	return o
   107  }
   108  
   109  func (o GetRulesPackagesResultOutput) ToGetRulesPackagesResultOutputWithContext(ctx context.Context) GetRulesPackagesResultOutput {
   110  	return o
   111  }
   112  
   113  // List of the Amazon Inspector Classic Rules Packages arns available in the AWS region.
   114  func (o GetRulesPackagesResultOutput) Arns() pulumi.StringArrayOutput {
   115  	return o.ApplyT(func(v GetRulesPackagesResult) []string { return v.Arns }).(pulumi.StringArrayOutput)
   116  }
   117  
   118  // The provider-assigned unique ID for this managed resource.
   119  func (o GetRulesPackagesResultOutput) Id() pulumi.StringOutput {
   120  	return o.ApplyT(func(v GetRulesPackagesResult) string { return v.Id }).(pulumi.StringOutput)
   121  }
   122  
   123  func init() {
   124  	pulumi.RegisterOutputType(GetRulesPackagesResultOutput{})
   125  }