github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssm/getPatchBaseline.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 ssm
     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 an SSM Patch Baseline data source. Useful if you wish to reuse the default baselines provided.
    15  //
    16  // ## Example Usage
    17  //
    18  // To retrieve a baseline provided by AWS:
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
    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 := ssm.LookupPatchBaseline(ctx, &ssm.LookupPatchBaselineArgs{
    34  //				Owner:           "AWS",
    35  //				NamePrefix:      pulumi.StringRef("AWS-"),
    36  //				OperatingSystem: pulumi.StringRef("CENTOS"),
    37  //			}, nil)
    38  //			if err != nil {
    39  //				return err
    40  //			}
    41  //			return nil
    42  //		})
    43  //	}
    44  //
    45  // ```
    46  // <!--End PulumiCodeChooser -->
    47  //
    48  // To retrieve a baseline on your account:
    49  //
    50  // <!--Start PulumiCodeChooser -->
    51  // ```go
    52  // package main
    53  //
    54  // import (
    55  //
    56  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
    57  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    58  //
    59  // )
    60  //
    61  //	func main() {
    62  //		pulumi.Run(func(ctx *pulumi.Context) error {
    63  //			_, err := ssm.LookupPatchBaseline(ctx, &ssm.LookupPatchBaselineArgs{
    64  //				Owner:           "Self",
    65  //				NamePrefix:      pulumi.StringRef("MyCustomBaseline"),
    66  //				DefaultBaseline: pulumi.BoolRef(true),
    67  //				OperatingSystem: pulumi.StringRef("WINDOWS"),
    68  //			}, nil)
    69  //			if err != nil {
    70  //				return err
    71  //			}
    72  //			return nil
    73  //		})
    74  //	}
    75  //
    76  // ```
    77  // <!--End PulumiCodeChooser -->
    78  func LookupPatchBaseline(ctx *pulumi.Context, args *LookupPatchBaselineArgs, opts ...pulumi.InvokeOption) (*LookupPatchBaselineResult, error) {
    79  	opts = internal.PkgInvokeDefaultOpts(opts)
    80  	var rv LookupPatchBaselineResult
    81  	err := ctx.Invoke("aws:ssm/getPatchBaseline:getPatchBaseline", args, &rv, opts...)
    82  	if err != nil {
    83  		return nil, err
    84  	}
    85  	return &rv, nil
    86  }
    87  
    88  // A collection of arguments for invoking getPatchBaseline.
    89  type LookupPatchBaselineArgs struct {
    90  	// Filters the results against the baselines defaultBaseline field.
    91  	DefaultBaseline *bool `pulumi:"defaultBaseline"`
    92  	// Filter results by the baseline name prefix.
    93  	NamePrefix *string `pulumi:"namePrefix"`
    94  	// Specified OS for the baseline. Valid values: `AMAZON_LINUX`, `AMAZON_LINUX_2`, `UBUNTU`, `REDHAT_ENTERPRISE_LINUX`, `SUSE`, `CENTOS`, `ORACLE_LINUX`, `DEBIAN`, `MACOS`, `RASPBIAN` and `ROCKY_LINUX`.
    95  	OperatingSystem *string `pulumi:"operatingSystem"`
    96  	// Owner of the baseline. Valid values: `All`, `AWS`, `Self` (the current account).
    97  	//
    98  	// The following arguments are optional:
    99  	Owner string `pulumi:"owner"`
   100  }
   101  
   102  // A collection of values returned by getPatchBaseline.
   103  type LookupPatchBaselineResult struct {
   104  	// List of rules used to include patches in the baseline.
   105  	ApprovalRules []GetPatchBaselineApprovalRule `pulumi:"approvalRules"`
   106  	// List of explicitly approved patches for the baseline.
   107  	ApprovedPatches []string `pulumi:"approvedPatches"`
   108  	// Compliance level for approved patches.
   109  	ApprovedPatchesComplianceLevel string `pulumi:"approvedPatchesComplianceLevel"`
   110  	// Indicates whether the list of approved patches includes non-security updates that should be applied to the instances.
   111  	ApprovedPatchesEnableNonSecurity bool  `pulumi:"approvedPatchesEnableNonSecurity"`
   112  	DefaultBaseline                  *bool `pulumi:"defaultBaseline"`
   113  	// Description of the baseline.
   114  	Description string `pulumi:"description"`
   115  	// Set of global filters used to exclude patches from the baseline.
   116  	GlobalFilters []GetPatchBaselineGlobalFilter `pulumi:"globalFilters"`
   117  	// The provider-assigned unique ID for this managed resource.
   118  	Id string `pulumi:"id"`
   119  	// JSON representation of the baseline.
   120  	Json string `pulumi:"json"`
   121  	// Name specified to identify the patch source.
   122  	Name            string  `pulumi:"name"`
   123  	NamePrefix      *string `pulumi:"namePrefix"`
   124  	OperatingSystem *string `pulumi:"operatingSystem"`
   125  	Owner           string  `pulumi:"owner"`
   126  	// List of rejected patches.
   127  	RejectedPatches []string `pulumi:"rejectedPatches"`
   128  	// Action specified to take on patches included in the `rejectedPatches` list.
   129  	RejectedPatchesAction string `pulumi:"rejectedPatchesAction"`
   130  	// Information about the patches to use to update the managed nodes, including target operating systems and source repositories.
   131  	Sources []GetPatchBaselineSource `pulumi:"sources"`
   132  }
   133  
   134  func LookupPatchBaselineOutput(ctx *pulumi.Context, args LookupPatchBaselineOutputArgs, opts ...pulumi.InvokeOption) LookupPatchBaselineResultOutput {
   135  	return pulumi.ToOutputWithContext(context.Background(), args).
   136  		ApplyT(func(v interface{}) (LookupPatchBaselineResult, error) {
   137  			args := v.(LookupPatchBaselineArgs)
   138  			r, err := LookupPatchBaseline(ctx, &args, opts...)
   139  			var s LookupPatchBaselineResult
   140  			if r != nil {
   141  				s = *r
   142  			}
   143  			return s, err
   144  		}).(LookupPatchBaselineResultOutput)
   145  }
   146  
   147  // A collection of arguments for invoking getPatchBaseline.
   148  type LookupPatchBaselineOutputArgs struct {
   149  	// Filters the results against the baselines defaultBaseline field.
   150  	DefaultBaseline pulumi.BoolPtrInput `pulumi:"defaultBaseline"`
   151  	// Filter results by the baseline name prefix.
   152  	NamePrefix pulumi.StringPtrInput `pulumi:"namePrefix"`
   153  	// Specified OS for the baseline. Valid values: `AMAZON_LINUX`, `AMAZON_LINUX_2`, `UBUNTU`, `REDHAT_ENTERPRISE_LINUX`, `SUSE`, `CENTOS`, `ORACLE_LINUX`, `DEBIAN`, `MACOS`, `RASPBIAN` and `ROCKY_LINUX`.
   154  	OperatingSystem pulumi.StringPtrInput `pulumi:"operatingSystem"`
   155  	// Owner of the baseline. Valid values: `All`, `AWS`, `Self` (the current account).
   156  	//
   157  	// The following arguments are optional:
   158  	Owner pulumi.StringInput `pulumi:"owner"`
   159  }
   160  
   161  func (LookupPatchBaselineOutputArgs) ElementType() reflect.Type {
   162  	return reflect.TypeOf((*LookupPatchBaselineArgs)(nil)).Elem()
   163  }
   164  
   165  // A collection of values returned by getPatchBaseline.
   166  type LookupPatchBaselineResultOutput struct{ *pulumi.OutputState }
   167  
   168  func (LookupPatchBaselineResultOutput) ElementType() reflect.Type {
   169  	return reflect.TypeOf((*LookupPatchBaselineResult)(nil)).Elem()
   170  }
   171  
   172  func (o LookupPatchBaselineResultOutput) ToLookupPatchBaselineResultOutput() LookupPatchBaselineResultOutput {
   173  	return o
   174  }
   175  
   176  func (o LookupPatchBaselineResultOutput) ToLookupPatchBaselineResultOutputWithContext(ctx context.Context) LookupPatchBaselineResultOutput {
   177  	return o
   178  }
   179  
   180  // List of rules used to include patches in the baseline.
   181  func (o LookupPatchBaselineResultOutput) ApprovalRules() GetPatchBaselineApprovalRuleArrayOutput {
   182  	return o.ApplyT(func(v LookupPatchBaselineResult) []GetPatchBaselineApprovalRule { return v.ApprovalRules }).(GetPatchBaselineApprovalRuleArrayOutput)
   183  }
   184  
   185  // List of explicitly approved patches for the baseline.
   186  func (o LookupPatchBaselineResultOutput) ApprovedPatches() pulumi.StringArrayOutput {
   187  	return o.ApplyT(func(v LookupPatchBaselineResult) []string { return v.ApprovedPatches }).(pulumi.StringArrayOutput)
   188  }
   189  
   190  // Compliance level for approved patches.
   191  func (o LookupPatchBaselineResultOutput) ApprovedPatchesComplianceLevel() pulumi.StringOutput {
   192  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.ApprovedPatchesComplianceLevel }).(pulumi.StringOutput)
   193  }
   194  
   195  // Indicates whether the list of approved patches includes non-security updates that should be applied to the instances.
   196  func (o LookupPatchBaselineResultOutput) ApprovedPatchesEnableNonSecurity() pulumi.BoolOutput {
   197  	return o.ApplyT(func(v LookupPatchBaselineResult) bool { return v.ApprovedPatchesEnableNonSecurity }).(pulumi.BoolOutput)
   198  }
   199  
   200  func (o LookupPatchBaselineResultOutput) DefaultBaseline() pulumi.BoolPtrOutput {
   201  	return o.ApplyT(func(v LookupPatchBaselineResult) *bool { return v.DefaultBaseline }).(pulumi.BoolPtrOutput)
   202  }
   203  
   204  // Description of the baseline.
   205  func (o LookupPatchBaselineResultOutput) Description() pulumi.StringOutput {
   206  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.Description }).(pulumi.StringOutput)
   207  }
   208  
   209  // Set of global filters used to exclude patches from the baseline.
   210  func (o LookupPatchBaselineResultOutput) GlobalFilters() GetPatchBaselineGlobalFilterArrayOutput {
   211  	return o.ApplyT(func(v LookupPatchBaselineResult) []GetPatchBaselineGlobalFilter { return v.GlobalFilters }).(GetPatchBaselineGlobalFilterArrayOutput)
   212  }
   213  
   214  // The provider-assigned unique ID for this managed resource.
   215  func (o LookupPatchBaselineResultOutput) Id() pulumi.StringOutput {
   216  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.Id }).(pulumi.StringOutput)
   217  }
   218  
   219  // JSON representation of the baseline.
   220  func (o LookupPatchBaselineResultOutput) Json() pulumi.StringOutput {
   221  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.Json }).(pulumi.StringOutput)
   222  }
   223  
   224  // Name specified to identify the patch source.
   225  func (o LookupPatchBaselineResultOutput) Name() pulumi.StringOutput {
   226  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.Name }).(pulumi.StringOutput)
   227  }
   228  
   229  func (o LookupPatchBaselineResultOutput) NamePrefix() pulumi.StringPtrOutput {
   230  	return o.ApplyT(func(v LookupPatchBaselineResult) *string { return v.NamePrefix }).(pulumi.StringPtrOutput)
   231  }
   232  
   233  func (o LookupPatchBaselineResultOutput) OperatingSystem() pulumi.StringPtrOutput {
   234  	return o.ApplyT(func(v LookupPatchBaselineResult) *string { return v.OperatingSystem }).(pulumi.StringPtrOutput)
   235  }
   236  
   237  func (o LookupPatchBaselineResultOutput) Owner() pulumi.StringOutput {
   238  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.Owner }).(pulumi.StringOutput)
   239  }
   240  
   241  // List of rejected patches.
   242  func (o LookupPatchBaselineResultOutput) RejectedPatches() pulumi.StringArrayOutput {
   243  	return o.ApplyT(func(v LookupPatchBaselineResult) []string { return v.RejectedPatches }).(pulumi.StringArrayOutput)
   244  }
   245  
   246  // Action specified to take on patches included in the `rejectedPatches` list.
   247  func (o LookupPatchBaselineResultOutput) RejectedPatchesAction() pulumi.StringOutput {
   248  	return o.ApplyT(func(v LookupPatchBaselineResult) string { return v.RejectedPatchesAction }).(pulumi.StringOutput)
   249  }
   250  
   251  // Information about the patches to use to update the managed nodes, including target operating systems and source repositories.
   252  func (o LookupPatchBaselineResultOutput) Sources() GetPatchBaselineSourceArrayOutput {
   253  	return o.ApplyT(func(v LookupPatchBaselineResult) []GetPatchBaselineSource { return v.Sources }).(GetPatchBaselineSourceArrayOutput)
   254  }
   255  
   256  func init() {
   257  	pulumi.RegisterOutputType(LookupPatchBaselineResultOutput{})
   258  }