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 }