github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/securityhub/productSubscription.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 securityhub 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Subscribes to a Security Hub product. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "fmt" 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // example, err := securityhub.NewAccount(ctx, "example", nil) 36 // if err != nil { 37 // return err 38 // } 39 // current, err := aws.GetRegion(ctx, nil, nil) 40 // if err != nil { 41 // return err 42 // } 43 // _, err = securityhub.NewProductSubscription(ctx, "example", &securityhub.ProductSubscriptionArgs{ 44 // ProductArn: pulumi.String(fmt.Sprintf("arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement", current.Name)), 45 // }, pulumi.DependsOn([]pulumi.Resource{ 46 // example, 47 // })) 48 // if err != nil { 49 // return err 50 // } 51 // return nil 52 // }) 53 // } 54 // 55 // ``` 56 // <!--End PulumiCodeChooser --> 57 // 58 // ## Import 59 // 60 // Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: 61 // 62 // ```sh 63 // $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement 64 // ``` 65 type ProductSubscription struct { 66 pulumi.CustomResourceState 67 68 // The ARN of a resource that represents your subscription to the product that generates the findings that you want to import into Security Hub. 69 Arn pulumi.StringOutput `pulumi:"arn"` 70 // The ARN of the product that generates findings that you want to import into Security Hub - see below. 71 // 72 // Amazon maintains a list of [Product integrations in AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-providers.html) that changes over time. Any of the products on the linked [Available AWS service integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-internal-providers.html) or [Available third-party partner product integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html) can be configured using `securityhub.ProductSubscription`. 73 // 74 // Available products can also be listed by running the AWS CLI command `aws securityhub describe-products`. 75 // 76 // A subset of currently available products (remember to replace `${var.region}` as appropriate) includes: 77 // 78 // * `arn:aws:securityhub:${var.region}::product/aws/guardduty` 79 // * `arn:aws:securityhub:${var.region}::product/aws/inspector` 80 // * `arn:aws:securityhub:${var.region}::product/aws/macie` 81 // * `arn:aws:securityhub:${var.region}::product/alertlogic/althreatmanagement` 82 // * `arn:aws:securityhub:${var.region}::product/armordefense/armoranywhere` 83 // * `arn:aws:securityhub:${var.region}::product/barracuda/cloudsecurityguardian` 84 // * `arn:aws:securityhub:${var.region}::product/checkpoint/cloudguard-iaas` 85 // * `arn:aws:securityhub:${var.region}::product/checkpoint/dome9-arc` 86 // * `arn:aws:securityhub:${var.region}::product/crowdstrike/crowdstrike-falcon` 87 // * `arn:aws:securityhub:${var.region}::product/cyberark/cyberark-pta` 88 // * `arn:aws:securityhub:${var.region}::product/f5networks/f5-advanced-waf` 89 // * `arn:aws:securityhub:${var.region}::product/fortinet/fortigate` 90 // * `arn:aws:securityhub:${var.region}::product/guardicore/aws-infection-monkey` 91 // * `arn:aws:securityhub:${var.region}::product/guardicore/guardicore` 92 // * `arn:aws:securityhub:${var.region}::product/ibm/qradar-siem` 93 // * `arn:aws:securityhub:${var.region}::product/imperva/imperva-attack-analytics` 94 // * `arn:aws:securityhub:${var.region}::product/mcafee-skyhigh/mcafee-mvision-cloud-aws` 95 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/redlock` 96 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/vm-series` 97 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-pc` 98 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-vm` 99 // * `arn:aws:securityhub:${var.region}::product/rapid7/insightvm` 100 // * `arn:aws:securityhub:${var.region}::product/sophos/sophos-server-protection` 101 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-enterprise` 102 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-phantom` 103 // * `arn:aws:securityhub:${var.region}::product/sumologicinc/sumologic-mda` 104 // * `arn:aws:securityhub:${var.region}::product/symantec-corp/symantec-cwp` 105 // * `arn:aws:securityhub:${var.region}::product/tenable/tenable-io` 106 // * `arn:aws:securityhub:${var.region}::product/trend-micro/deep-security` 107 // * `arn:aws:securityhub:${var.region}::product/turbot/turbot` 108 // * `arn:aws:securityhub:${var.region}::product/twistlock/twistlock-enterprise` 109 ProductArn pulumi.StringOutput `pulumi:"productArn"` 110 } 111 112 // NewProductSubscription registers a new resource with the given unique name, arguments, and options. 113 func NewProductSubscription(ctx *pulumi.Context, 114 name string, args *ProductSubscriptionArgs, opts ...pulumi.ResourceOption) (*ProductSubscription, error) { 115 if args == nil { 116 return nil, errors.New("missing one or more required arguments") 117 } 118 119 if args.ProductArn == nil { 120 return nil, errors.New("invalid value for required argument 'ProductArn'") 121 } 122 opts = internal.PkgResourceDefaultOpts(opts) 123 var resource ProductSubscription 124 err := ctx.RegisterResource("aws:securityhub/productSubscription:ProductSubscription", name, args, &resource, opts...) 125 if err != nil { 126 return nil, err 127 } 128 return &resource, nil 129 } 130 131 // GetProductSubscription gets an existing ProductSubscription resource's state with the given name, ID, and optional 132 // state properties that are used to uniquely qualify the lookup (nil if not required). 133 func GetProductSubscription(ctx *pulumi.Context, 134 name string, id pulumi.IDInput, state *ProductSubscriptionState, opts ...pulumi.ResourceOption) (*ProductSubscription, error) { 135 var resource ProductSubscription 136 err := ctx.ReadResource("aws:securityhub/productSubscription:ProductSubscription", name, id, state, &resource, opts...) 137 if err != nil { 138 return nil, err 139 } 140 return &resource, nil 141 } 142 143 // Input properties used for looking up and filtering ProductSubscription resources. 144 type productSubscriptionState struct { 145 // The ARN of a resource that represents your subscription to the product that generates the findings that you want to import into Security Hub. 146 Arn *string `pulumi:"arn"` 147 // The ARN of the product that generates findings that you want to import into Security Hub - see below. 148 // 149 // Amazon maintains a list of [Product integrations in AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-providers.html) that changes over time. Any of the products on the linked [Available AWS service integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-internal-providers.html) or [Available third-party partner product integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html) can be configured using `securityhub.ProductSubscription`. 150 // 151 // Available products can also be listed by running the AWS CLI command `aws securityhub describe-products`. 152 // 153 // A subset of currently available products (remember to replace `${var.region}` as appropriate) includes: 154 // 155 // * `arn:aws:securityhub:${var.region}::product/aws/guardduty` 156 // * `arn:aws:securityhub:${var.region}::product/aws/inspector` 157 // * `arn:aws:securityhub:${var.region}::product/aws/macie` 158 // * `arn:aws:securityhub:${var.region}::product/alertlogic/althreatmanagement` 159 // * `arn:aws:securityhub:${var.region}::product/armordefense/armoranywhere` 160 // * `arn:aws:securityhub:${var.region}::product/barracuda/cloudsecurityguardian` 161 // * `arn:aws:securityhub:${var.region}::product/checkpoint/cloudguard-iaas` 162 // * `arn:aws:securityhub:${var.region}::product/checkpoint/dome9-arc` 163 // * `arn:aws:securityhub:${var.region}::product/crowdstrike/crowdstrike-falcon` 164 // * `arn:aws:securityhub:${var.region}::product/cyberark/cyberark-pta` 165 // * `arn:aws:securityhub:${var.region}::product/f5networks/f5-advanced-waf` 166 // * `arn:aws:securityhub:${var.region}::product/fortinet/fortigate` 167 // * `arn:aws:securityhub:${var.region}::product/guardicore/aws-infection-monkey` 168 // * `arn:aws:securityhub:${var.region}::product/guardicore/guardicore` 169 // * `arn:aws:securityhub:${var.region}::product/ibm/qradar-siem` 170 // * `arn:aws:securityhub:${var.region}::product/imperva/imperva-attack-analytics` 171 // * `arn:aws:securityhub:${var.region}::product/mcafee-skyhigh/mcafee-mvision-cloud-aws` 172 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/redlock` 173 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/vm-series` 174 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-pc` 175 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-vm` 176 // * `arn:aws:securityhub:${var.region}::product/rapid7/insightvm` 177 // * `arn:aws:securityhub:${var.region}::product/sophos/sophos-server-protection` 178 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-enterprise` 179 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-phantom` 180 // * `arn:aws:securityhub:${var.region}::product/sumologicinc/sumologic-mda` 181 // * `arn:aws:securityhub:${var.region}::product/symantec-corp/symantec-cwp` 182 // * `arn:aws:securityhub:${var.region}::product/tenable/tenable-io` 183 // * `arn:aws:securityhub:${var.region}::product/trend-micro/deep-security` 184 // * `arn:aws:securityhub:${var.region}::product/turbot/turbot` 185 // * `arn:aws:securityhub:${var.region}::product/twistlock/twistlock-enterprise` 186 ProductArn *string `pulumi:"productArn"` 187 } 188 189 type ProductSubscriptionState struct { 190 // The ARN of a resource that represents your subscription to the product that generates the findings that you want to import into Security Hub. 191 Arn pulumi.StringPtrInput 192 // The ARN of the product that generates findings that you want to import into Security Hub - see below. 193 // 194 // Amazon maintains a list of [Product integrations in AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-providers.html) that changes over time. Any of the products on the linked [Available AWS service integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-internal-providers.html) or [Available third-party partner product integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html) can be configured using `securityhub.ProductSubscription`. 195 // 196 // Available products can also be listed by running the AWS CLI command `aws securityhub describe-products`. 197 // 198 // A subset of currently available products (remember to replace `${var.region}` as appropriate) includes: 199 // 200 // * `arn:aws:securityhub:${var.region}::product/aws/guardduty` 201 // * `arn:aws:securityhub:${var.region}::product/aws/inspector` 202 // * `arn:aws:securityhub:${var.region}::product/aws/macie` 203 // * `arn:aws:securityhub:${var.region}::product/alertlogic/althreatmanagement` 204 // * `arn:aws:securityhub:${var.region}::product/armordefense/armoranywhere` 205 // * `arn:aws:securityhub:${var.region}::product/barracuda/cloudsecurityguardian` 206 // * `arn:aws:securityhub:${var.region}::product/checkpoint/cloudguard-iaas` 207 // * `arn:aws:securityhub:${var.region}::product/checkpoint/dome9-arc` 208 // * `arn:aws:securityhub:${var.region}::product/crowdstrike/crowdstrike-falcon` 209 // * `arn:aws:securityhub:${var.region}::product/cyberark/cyberark-pta` 210 // * `arn:aws:securityhub:${var.region}::product/f5networks/f5-advanced-waf` 211 // * `arn:aws:securityhub:${var.region}::product/fortinet/fortigate` 212 // * `arn:aws:securityhub:${var.region}::product/guardicore/aws-infection-monkey` 213 // * `arn:aws:securityhub:${var.region}::product/guardicore/guardicore` 214 // * `arn:aws:securityhub:${var.region}::product/ibm/qradar-siem` 215 // * `arn:aws:securityhub:${var.region}::product/imperva/imperva-attack-analytics` 216 // * `arn:aws:securityhub:${var.region}::product/mcafee-skyhigh/mcafee-mvision-cloud-aws` 217 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/redlock` 218 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/vm-series` 219 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-pc` 220 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-vm` 221 // * `arn:aws:securityhub:${var.region}::product/rapid7/insightvm` 222 // * `arn:aws:securityhub:${var.region}::product/sophos/sophos-server-protection` 223 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-enterprise` 224 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-phantom` 225 // * `arn:aws:securityhub:${var.region}::product/sumologicinc/sumologic-mda` 226 // * `arn:aws:securityhub:${var.region}::product/symantec-corp/symantec-cwp` 227 // * `arn:aws:securityhub:${var.region}::product/tenable/tenable-io` 228 // * `arn:aws:securityhub:${var.region}::product/trend-micro/deep-security` 229 // * `arn:aws:securityhub:${var.region}::product/turbot/turbot` 230 // * `arn:aws:securityhub:${var.region}::product/twistlock/twistlock-enterprise` 231 ProductArn pulumi.StringPtrInput 232 } 233 234 func (ProductSubscriptionState) ElementType() reflect.Type { 235 return reflect.TypeOf((*productSubscriptionState)(nil)).Elem() 236 } 237 238 type productSubscriptionArgs struct { 239 // The ARN of the product that generates findings that you want to import into Security Hub - see below. 240 // 241 // Amazon maintains a list of [Product integrations in AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-providers.html) that changes over time. Any of the products on the linked [Available AWS service integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-internal-providers.html) or [Available third-party partner product integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html) can be configured using `securityhub.ProductSubscription`. 242 // 243 // Available products can also be listed by running the AWS CLI command `aws securityhub describe-products`. 244 // 245 // A subset of currently available products (remember to replace `${var.region}` as appropriate) includes: 246 // 247 // * `arn:aws:securityhub:${var.region}::product/aws/guardduty` 248 // * `arn:aws:securityhub:${var.region}::product/aws/inspector` 249 // * `arn:aws:securityhub:${var.region}::product/aws/macie` 250 // * `arn:aws:securityhub:${var.region}::product/alertlogic/althreatmanagement` 251 // * `arn:aws:securityhub:${var.region}::product/armordefense/armoranywhere` 252 // * `arn:aws:securityhub:${var.region}::product/barracuda/cloudsecurityguardian` 253 // * `arn:aws:securityhub:${var.region}::product/checkpoint/cloudguard-iaas` 254 // * `arn:aws:securityhub:${var.region}::product/checkpoint/dome9-arc` 255 // * `arn:aws:securityhub:${var.region}::product/crowdstrike/crowdstrike-falcon` 256 // * `arn:aws:securityhub:${var.region}::product/cyberark/cyberark-pta` 257 // * `arn:aws:securityhub:${var.region}::product/f5networks/f5-advanced-waf` 258 // * `arn:aws:securityhub:${var.region}::product/fortinet/fortigate` 259 // * `arn:aws:securityhub:${var.region}::product/guardicore/aws-infection-monkey` 260 // * `arn:aws:securityhub:${var.region}::product/guardicore/guardicore` 261 // * `arn:aws:securityhub:${var.region}::product/ibm/qradar-siem` 262 // * `arn:aws:securityhub:${var.region}::product/imperva/imperva-attack-analytics` 263 // * `arn:aws:securityhub:${var.region}::product/mcafee-skyhigh/mcafee-mvision-cloud-aws` 264 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/redlock` 265 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/vm-series` 266 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-pc` 267 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-vm` 268 // * `arn:aws:securityhub:${var.region}::product/rapid7/insightvm` 269 // * `arn:aws:securityhub:${var.region}::product/sophos/sophos-server-protection` 270 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-enterprise` 271 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-phantom` 272 // * `arn:aws:securityhub:${var.region}::product/sumologicinc/sumologic-mda` 273 // * `arn:aws:securityhub:${var.region}::product/symantec-corp/symantec-cwp` 274 // * `arn:aws:securityhub:${var.region}::product/tenable/tenable-io` 275 // * `arn:aws:securityhub:${var.region}::product/trend-micro/deep-security` 276 // * `arn:aws:securityhub:${var.region}::product/turbot/turbot` 277 // * `arn:aws:securityhub:${var.region}::product/twistlock/twistlock-enterprise` 278 ProductArn string `pulumi:"productArn"` 279 } 280 281 // The set of arguments for constructing a ProductSubscription resource. 282 type ProductSubscriptionArgs struct { 283 // The ARN of the product that generates findings that you want to import into Security Hub - see below. 284 // 285 // Amazon maintains a list of [Product integrations in AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-providers.html) that changes over time. Any of the products on the linked [Available AWS service integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-internal-providers.html) or [Available third-party partner product integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html) can be configured using `securityhub.ProductSubscription`. 286 // 287 // Available products can also be listed by running the AWS CLI command `aws securityhub describe-products`. 288 // 289 // A subset of currently available products (remember to replace `${var.region}` as appropriate) includes: 290 // 291 // * `arn:aws:securityhub:${var.region}::product/aws/guardduty` 292 // * `arn:aws:securityhub:${var.region}::product/aws/inspector` 293 // * `arn:aws:securityhub:${var.region}::product/aws/macie` 294 // * `arn:aws:securityhub:${var.region}::product/alertlogic/althreatmanagement` 295 // * `arn:aws:securityhub:${var.region}::product/armordefense/armoranywhere` 296 // * `arn:aws:securityhub:${var.region}::product/barracuda/cloudsecurityguardian` 297 // * `arn:aws:securityhub:${var.region}::product/checkpoint/cloudguard-iaas` 298 // * `arn:aws:securityhub:${var.region}::product/checkpoint/dome9-arc` 299 // * `arn:aws:securityhub:${var.region}::product/crowdstrike/crowdstrike-falcon` 300 // * `arn:aws:securityhub:${var.region}::product/cyberark/cyberark-pta` 301 // * `arn:aws:securityhub:${var.region}::product/f5networks/f5-advanced-waf` 302 // * `arn:aws:securityhub:${var.region}::product/fortinet/fortigate` 303 // * `arn:aws:securityhub:${var.region}::product/guardicore/aws-infection-monkey` 304 // * `arn:aws:securityhub:${var.region}::product/guardicore/guardicore` 305 // * `arn:aws:securityhub:${var.region}::product/ibm/qradar-siem` 306 // * `arn:aws:securityhub:${var.region}::product/imperva/imperva-attack-analytics` 307 // * `arn:aws:securityhub:${var.region}::product/mcafee-skyhigh/mcafee-mvision-cloud-aws` 308 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/redlock` 309 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/vm-series` 310 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-pc` 311 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-vm` 312 // * `arn:aws:securityhub:${var.region}::product/rapid7/insightvm` 313 // * `arn:aws:securityhub:${var.region}::product/sophos/sophos-server-protection` 314 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-enterprise` 315 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-phantom` 316 // * `arn:aws:securityhub:${var.region}::product/sumologicinc/sumologic-mda` 317 // * `arn:aws:securityhub:${var.region}::product/symantec-corp/symantec-cwp` 318 // * `arn:aws:securityhub:${var.region}::product/tenable/tenable-io` 319 // * `arn:aws:securityhub:${var.region}::product/trend-micro/deep-security` 320 // * `arn:aws:securityhub:${var.region}::product/turbot/turbot` 321 // * `arn:aws:securityhub:${var.region}::product/twistlock/twistlock-enterprise` 322 ProductArn pulumi.StringInput 323 } 324 325 func (ProductSubscriptionArgs) ElementType() reflect.Type { 326 return reflect.TypeOf((*productSubscriptionArgs)(nil)).Elem() 327 } 328 329 type ProductSubscriptionInput interface { 330 pulumi.Input 331 332 ToProductSubscriptionOutput() ProductSubscriptionOutput 333 ToProductSubscriptionOutputWithContext(ctx context.Context) ProductSubscriptionOutput 334 } 335 336 func (*ProductSubscription) ElementType() reflect.Type { 337 return reflect.TypeOf((**ProductSubscription)(nil)).Elem() 338 } 339 340 func (i *ProductSubscription) ToProductSubscriptionOutput() ProductSubscriptionOutput { 341 return i.ToProductSubscriptionOutputWithContext(context.Background()) 342 } 343 344 func (i *ProductSubscription) ToProductSubscriptionOutputWithContext(ctx context.Context) ProductSubscriptionOutput { 345 return pulumi.ToOutputWithContext(ctx, i).(ProductSubscriptionOutput) 346 } 347 348 // ProductSubscriptionArrayInput is an input type that accepts ProductSubscriptionArray and ProductSubscriptionArrayOutput values. 349 // You can construct a concrete instance of `ProductSubscriptionArrayInput` via: 350 // 351 // ProductSubscriptionArray{ ProductSubscriptionArgs{...} } 352 type ProductSubscriptionArrayInput interface { 353 pulumi.Input 354 355 ToProductSubscriptionArrayOutput() ProductSubscriptionArrayOutput 356 ToProductSubscriptionArrayOutputWithContext(context.Context) ProductSubscriptionArrayOutput 357 } 358 359 type ProductSubscriptionArray []ProductSubscriptionInput 360 361 func (ProductSubscriptionArray) ElementType() reflect.Type { 362 return reflect.TypeOf((*[]*ProductSubscription)(nil)).Elem() 363 } 364 365 func (i ProductSubscriptionArray) ToProductSubscriptionArrayOutput() ProductSubscriptionArrayOutput { 366 return i.ToProductSubscriptionArrayOutputWithContext(context.Background()) 367 } 368 369 func (i ProductSubscriptionArray) ToProductSubscriptionArrayOutputWithContext(ctx context.Context) ProductSubscriptionArrayOutput { 370 return pulumi.ToOutputWithContext(ctx, i).(ProductSubscriptionArrayOutput) 371 } 372 373 // ProductSubscriptionMapInput is an input type that accepts ProductSubscriptionMap and ProductSubscriptionMapOutput values. 374 // You can construct a concrete instance of `ProductSubscriptionMapInput` via: 375 // 376 // ProductSubscriptionMap{ "key": ProductSubscriptionArgs{...} } 377 type ProductSubscriptionMapInput interface { 378 pulumi.Input 379 380 ToProductSubscriptionMapOutput() ProductSubscriptionMapOutput 381 ToProductSubscriptionMapOutputWithContext(context.Context) ProductSubscriptionMapOutput 382 } 383 384 type ProductSubscriptionMap map[string]ProductSubscriptionInput 385 386 func (ProductSubscriptionMap) ElementType() reflect.Type { 387 return reflect.TypeOf((*map[string]*ProductSubscription)(nil)).Elem() 388 } 389 390 func (i ProductSubscriptionMap) ToProductSubscriptionMapOutput() ProductSubscriptionMapOutput { 391 return i.ToProductSubscriptionMapOutputWithContext(context.Background()) 392 } 393 394 func (i ProductSubscriptionMap) ToProductSubscriptionMapOutputWithContext(ctx context.Context) ProductSubscriptionMapOutput { 395 return pulumi.ToOutputWithContext(ctx, i).(ProductSubscriptionMapOutput) 396 } 397 398 type ProductSubscriptionOutput struct{ *pulumi.OutputState } 399 400 func (ProductSubscriptionOutput) ElementType() reflect.Type { 401 return reflect.TypeOf((**ProductSubscription)(nil)).Elem() 402 } 403 404 func (o ProductSubscriptionOutput) ToProductSubscriptionOutput() ProductSubscriptionOutput { 405 return o 406 } 407 408 func (o ProductSubscriptionOutput) ToProductSubscriptionOutputWithContext(ctx context.Context) ProductSubscriptionOutput { 409 return o 410 } 411 412 // The ARN of a resource that represents your subscription to the product that generates the findings that you want to import into Security Hub. 413 func (o ProductSubscriptionOutput) Arn() pulumi.StringOutput { 414 return o.ApplyT(func(v *ProductSubscription) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 415 } 416 417 // The ARN of the product that generates findings that you want to import into Security Hub - see below. 418 // 419 // Amazon maintains a list of [Product integrations in AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-providers.html) that changes over time. Any of the products on the linked [Available AWS service integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-internal-providers.html) or [Available third-party partner product integrations](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html) can be configured using `securityhub.ProductSubscription`. 420 // 421 // Available products can also be listed by running the AWS CLI command `aws securityhub describe-products`. 422 // 423 // A subset of currently available products (remember to replace `${var.region}` as appropriate) includes: 424 // 425 // * `arn:aws:securityhub:${var.region}::product/aws/guardduty` 426 // * `arn:aws:securityhub:${var.region}::product/aws/inspector` 427 // * `arn:aws:securityhub:${var.region}::product/aws/macie` 428 // * `arn:aws:securityhub:${var.region}::product/alertlogic/althreatmanagement` 429 // * `arn:aws:securityhub:${var.region}::product/armordefense/armoranywhere` 430 // * `arn:aws:securityhub:${var.region}::product/barracuda/cloudsecurityguardian` 431 // * `arn:aws:securityhub:${var.region}::product/checkpoint/cloudguard-iaas` 432 // * `arn:aws:securityhub:${var.region}::product/checkpoint/dome9-arc` 433 // * `arn:aws:securityhub:${var.region}::product/crowdstrike/crowdstrike-falcon` 434 // * `arn:aws:securityhub:${var.region}::product/cyberark/cyberark-pta` 435 // * `arn:aws:securityhub:${var.region}::product/f5networks/f5-advanced-waf` 436 // * `arn:aws:securityhub:${var.region}::product/fortinet/fortigate` 437 // * `arn:aws:securityhub:${var.region}::product/guardicore/aws-infection-monkey` 438 // * `arn:aws:securityhub:${var.region}::product/guardicore/guardicore` 439 // * `arn:aws:securityhub:${var.region}::product/ibm/qradar-siem` 440 // * `arn:aws:securityhub:${var.region}::product/imperva/imperva-attack-analytics` 441 // * `arn:aws:securityhub:${var.region}::product/mcafee-skyhigh/mcafee-mvision-cloud-aws` 442 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/redlock` 443 // * `arn:aws:securityhub:${var.region}::product/paloaltonetworks/vm-series` 444 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-pc` 445 // * `arn:aws:securityhub:${var.region}::product/qualys/qualys-vm` 446 // * `arn:aws:securityhub:${var.region}::product/rapid7/insightvm` 447 // * `arn:aws:securityhub:${var.region}::product/sophos/sophos-server-protection` 448 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-enterprise` 449 // * `arn:aws:securityhub:${var.region}::product/splunk/splunk-phantom` 450 // * `arn:aws:securityhub:${var.region}::product/sumologicinc/sumologic-mda` 451 // * `arn:aws:securityhub:${var.region}::product/symantec-corp/symantec-cwp` 452 // * `arn:aws:securityhub:${var.region}::product/tenable/tenable-io` 453 // * `arn:aws:securityhub:${var.region}::product/trend-micro/deep-security` 454 // * `arn:aws:securityhub:${var.region}::product/turbot/turbot` 455 // * `arn:aws:securityhub:${var.region}::product/twistlock/twistlock-enterprise` 456 func (o ProductSubscriptionOutput) ProductArn() pulumi.StringOutput { 457 return o.ApplyT(func(v *ProductSubscription) pulumi.StringOutput { return v.ProductArn }).(pulumi.StringOutput) 458 } 459 460 type ProductSubscriptionArrayOutput struct{ *pulumi.OutputState } 461 462 func (ProductSubscriptionArrayOutput) ElementType() reflect.Type { 463 return reflect.TypeOf((*[]*ProductSubscription)(nil)).Elem() 464 } 465 466 func (o ProductSubscriptionArrayOutput) ToProductSubscriptionArrayOutput() ProductSubscriptionArrayOutput { 467 return o 468 } 469 470 func (o ProductSubscriptionArrayOutput) ToProductSubscriptionArrayOutputWithContext(ctx context.Context) ProductSubscriptionArrayOutput { 471 return o 472 } 473 474 func (o ProductSubscriptionArrayOutput) Index(i pulumi.IntInput) ProductSubscriptionOutput { 475 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProductSubscription { 476 return vs[0].([]*ProductSubscription)[vs[1].(int)] 477 }).(ProductSubscriptionOutput) 478 } 479 480 type ProductSubscriptionMapOutput struct{ *pulumi.OutputState } 481 482 func (ProductSubscriptionMapOutput) ElementType() reflect.Type { 483 return reflect.TypeOf((*map[string]*ProductSubscription)(nil)).Elem() 484 } 485 486 func (o ProductSubscriptionMapOutput) ToProductSubscriptionMapOutput() ProductSubscriptionMapOutput { 487 return o 488 } 489 490 func (o ProductSubscriptionMapOutput) ToProductSubscriptionMapOutputWithContext(ctx context.Context) ProductSubscriptionMapOutput { 491 return o 492 } 493 494 func (o ProductSubscriptionMapOutput) MapIndex(k pulumi.StringInput) ProductSubscriptionOutput { 495 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProductSubscription { 496 return vs[0].(map[string]*ProductSubscription)[vs[1].(string)] 497 }).(ProductSubscriptionOutput) 498 } 499 500 func init() { 501 pulumi.RegisterInputType(reflect.TypeOf((*ProductSubscriptionInput)(nil)).Elem(), &ProductSubscription{}) 502 pulumi.RegisterInputType(reflect.TypeOf((*ProductSubscriptionArrayInput)(nil)).Elem(), ProductSubscriptionArray{}) 503 pulumi.RegisterInputType(reflect.TypeOf((*ProductSubscriptionMapInput)(nil)).Elem(), ProductSubscriptionMap{}) 504 pulumi.RegisterOutputType(ProductSubscriptionOutput{}) 505 pulumi.RegisterOutputType(ProductSubscriptionArrayOutput{}) 506 pulumi.RegisterOutputType(ProductSubscriptionMapOutput{}) 507 }