/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Additional details about a resource related to a finding.

To provide * the details, use the object that corresponds to the resource type. For example, * if the resource type is AwsEc2Instance, then you use the * AwsEc2Instance object to provide the details.

If the * type-specific object does not contain all of the fields you want to populate, * then you use the Other object to populate those additional * fields.

You also use the Other object to populate the * details when the selected type does not have a corresponding * object.

See Also:

AWS * API Reference

*/ class ResourceDetails { public: AWS_SECURITYHUB_API ResourceDetails(); AWS_SECURITYHUB_API ResourceDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API ResourceDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Details for an autoscaling group.

*/ inline const AwsAutoScalingAutoScalingGroupDetails& GetAwsAutoScalingAutoScalingGroup() const{ return m_awsAutoScalingAutoScalingGroup; } /** *

Details for an autoscaling group.

*/ inline bool AwsAutoScalingAutoScalingGroupHasBeenSet() const { return m_awsAutoScalingAutoScalingGroupHasBeenSet; } /** *

Details for an autoscaling group.

*/ inline void SetAwsAutoScalingAutoScalingGroup(const AwsAutoScalingAutoScalingGroupDetails& value) { m_awsAutoScalingAutoScalingGroupHasBeenSet = true; m_awsAutoScalingAutoScalingGroup = value; } /** *

Details for an autoscaling group.

*/ inline void SetAwsAutoScalingAutoScalingGroup(AwsAutoScalingAutoScalingGroupDetails&& value) { m_awsAutoScalingAutoScalingGroupHasBeenSet = true; m_awsAutoScalingAutoScalingGroup = std::move(value); } /** *

Details for an autoscaling group.

*/ inline ResourceDetails& WithAwsAutoScalingAutoScalingGroup(const AwsAutoScalingAutoScalingGroupDetails& value) { SetAwsAutoScalingAutoScalingGroup(value); return *this;} /** *

Details for an autoscaling group.

*/ inline ResourceDetails& WithAwsAutoScalingAutoScalingGroup(AwsAutoScalingAutoScalingGroupDetails&& value) { SetAwsAutoScalingAutoScalingGroup(std::move(value)); return *this;} /** *

Details for an CodeBuild project.

*/ inline const AwsCodeBuildProjectDetails& GetAwsCodeBuildProject() const{ return m_awsCodeBuildProject; } /** *

Details for an CodeBuild project.

*/ inline bool AwsCodeBuildProjectHasBeenSet() const { return m_awsCodeBuildProjectHasBeenSet; } /** *

Details for an CodeBuild project.

*/ inline void SetAwsCodeBuildProject(const AwsCodeBuildProjectDetails& value) { m_awsCodeBuildProjectHasBeenSet = true; m_awsCodeBuildProject = value; } /** *

Details for an CodeBuild project.

*/ inline void SetAwsCodeBuildProject(AwsCodeBuildProjectDetails&& value) { m_awsCodeBuildProjectHasBeenSet = true; m_awsCodeBuildProject = std::move(value); } /** *

Details for an CodeBuild project.

*/ inline ResourceDetails& WithAwsCodeBuildProject(const AwsCodeBuildProjectDetails& value) { SetAwsCodeBuildProject(value); return *this;} /** *

Details for an CodeBuild project.

*/ inline ResourceDetails& WithAwsCodeBuildProject(AwsCodeBuildProjectDetails&& value) { SetAwsCodeBuildProject(std::move(value)); return *this;} /** *

Details about a CloudFront distribution.

*/ inline const AwsCloudFrontDistributionDetails& GetAwsCloudFrontDistribution() const{ return m_awsCloudFrontDistribution; } /** *

Details about a CloudFront distribution.

*/ inline bool AwsCloudFrontDistributionHasBeenSet() const { return m_awsCloudFrontDistributionHasBeenSet; } /** *

Details about a CloudFront distribution.

*/ inline void SetAwsCloudFrontDistribution(const AwsCloudFrontDistributionDetails& value) { m_awsCloudFrontDistributionHasBeenSet = true; m_awsCloudFrontDistribution = value; } /** *

Details about a CloudFront distribution.

*/ inline void SetAwsCloudFrontDistribution(AwsCloudFrontDistributionDetails&& value) { m_awsCloudFrontDistributionHasBeenSet = true; m_awsCloudFrontDistribution = std::move(value); } /** *

Details about a CloudFront distribution.

*/ inline ResourceDetails& WithAwsCloudFrontDistribution(const AwsCloudFrontDistributionDetails& value) { SetAwsCloudFrontDistribution(value); return *this;} /** *

Details about a CloudFront distribution.

*/ inline ResourceDetails& WithAwsCloudFrontDistribution(AwsCloudFrontDistributionDetails&& value) { SetAwsCloudFrontDistribution(std::move(value)); return *this;} /** *

Details about an EC2 instance related to a finding.

*/ inline const AwsEc2InstanceDetails& GetAwsEc2Instance() const{ return m_awsEc2Instance; } /** *

Details about an EC2 instance related to a finding.

*/ inline bool AwsEc2InstanceHasBeenSet() const { return m_awsEc2InstanceHasBeenSet; } /** *

Details about an EC2 instance related to a finding.

*/ inline void SetAwsEc2Instance(const AwsEc2InstanceDetails& value) { m_awsEc2InstanceHasBeenSet = true; m_awsEc2Instance = value; } /** *

Details about an EC2 instance related to a finding.

*/ inline void SetAwsEc2Instance(AwsEc2InstanceDetails&& value) { m_awsEc2InstanceHasBeenSet = true; m_awsEc2Instance = std::move(value); } /** *

Details about an EC2 instance related to a finding.

*/ inline ResourceDetails& WithAwsEc2Instance(const AwsEc2InstanceDetails& value) { SetAwsEc2Instance(value); return *this;} /** *

Details about an EC2 instance related to a finding.

*/ inline ResourceDetails& WithAwsEc2Instance(AwsEc2InstanceDetails&& value) { SetAwsEc2Instance(std::move(value)); return *this;} /** *

Details for an EC2 network interface.

*/ inline const AwsEc2NetworkInterfaceDetails& GetAwsEc2NetworkInterface() const{ return m_awsEc2NetworkInterface; } /** *

Details for an EC2 network interface.

*/ inline bool AwsEc2NetworkInterfaceHasBeenSet() const { return m_awsEc2NetworkInterfaceHasBeenSet; } /** *

Details for an EC2 network interface.

*/ inline void SetAwsEc2NetworkInterface(const AwsEc2NetworkInterfaceDetails& value) { m_awsEc2NetworkInterfaceHasBeenSet = true; m_awsEc2NetworkInterface = value; } /** *

Details for an EC2 network interface.

*/ inline void SetAwsEc2NetworkInterface(AwsEc2NetworkInterfaceDetails&& value) { m_awsEc2NetworkInterfaceHasBeenSet = true; m_awsEc2NetworkInterface = std::move(value); } /** *

Details for an EC2 network interface.

*/ inline ResourceDetails& WithAwsEc2NetworkInterface(const AwsEc2NetworkInterfaceDetails& value) { SetAwsEc2NetworkInterface(value); return *this;} /** *

Details for an EC2 network interface.

*/ inline ResourceDetails& WithAwsEc2NetworkInterface(AwsEc2NetworkInterfaceDetails&& value) { SetAwsEc2NetworkInterface(std::move(value)); return *this;} /** *

Details for an EC2 security group.

*/ inline const AwsEc2SecurityGroupDetails& GetAwsEc2SecurityGroup() const{ return m_awsEc2SecurityGroup; } /** *

Details for an EC2 security group.

*/ inline bool AwsEc2SecurityGroupHasBeenSet() const { return m_awsEc2SecurityGroupHasBeenSet; } /** *

Details for an EC2 security group.

*/ inline void SetAwsEc2SecurityGroup(const AwsEc2SecurityGroupDetails& value) { m_awsEc2SecurityGroupHasBeenSet = true; m_awsEc2SecurityGroup = value; } /** *

Details for an EC2 security group.

*/ inline void SetAwsEc2SecurityGroup(AwsEc2SecurityGroupDetails&& value) { m_awsEc2SecurityGroupHasBeenSet = true; m_awsEc2SecurityGroup = std::move(value); } /** *

Details for an EC2 security group.

*/ inline ResourceDetails& WithAwsEc2SecurityGroup(const AwsEc2SecurityGroupDetails& value) { SetAwsEc2SecurityGroup(value); return *this;} /** *

Details for an EC2 security group.

*/ inline ResourceDetails& WithAwsEc2SecurityGroup(AwsEc2SecurityGroupDetails&& value) { SetAwsEc2SecurityGroup(std::move(value)); return *this;} /** *

Details for an Amazon EC2 volume.

*/ inline const AwsEc2VolumeDetails& GetAwsEc2Volume() const{ return m_awsEc2Volume; } /** *

Details for an Amazon EC2 volume.

*/ inline bool AwsEc2VolumeHasBeenSet() const { return m_awsEc2VolumeHasBeenSet; } /** *

Details for an Amazon EC2 volume.

*/ inline void SetAwsEc2Volume(const AwsEc2VolumeDetails& value) { m_awsEc2VolumeHasBeenSet = true; m_awsEc2Volume = value; } /** *

Details for an Amazon EC2 volume.

*/ inline void SetAwsEc2Volume(AwsEc2VolumeDetails&& value) { m_awsEc2VolumeHasBeenSet = true; m_awsEc2Volume = std::move(value); } /** *

Details for an Amazon EC2 volume.

*/ inline ResourceDetails& WithAwsEc2Volume(const AwsEc2VolumeDetails& value) { SetAwsEc2Volume(value); return *this;} /** *

Details for an Amazon EC2 volume.

*/ inline ResourceDetails& WithAwsEc2Volume(AwsEc2VolumeDetails&& value) { SetAwsEc2Volume(std::move(value)); return *this;} /** *

Details for an Amazon EC2 VPC.

*/ inline const AwsEc2VpcDetails& GetAwsEc2Vpc() const{ return m_awsEc2Vpc; } /** *

Details for an Amazon EC2 VPC.

*/ inline bool AwsEc2VpcHasBeenSet() const { return m_awsEc2VpcHasBeenSet; } /** *

Details for an Amazon EC2 VPC.

*/ inline void SetAwsEc2Vpc(const AwsEc2VpcDetails& value) { m_awsEc2VpcHasBeenSet = true; m_awsEc2Vpc = value; } /** *

Details for an Amazon EC2 VPC.

*/ inline void SetAwsEc2Vpc(AwsEc2VpcDetails&& value) { m_awsEc2VpcHasBeenSet = true; m_awsEc2Vpc = std::move(value); } /** *

Details for an Amazon EC2 VPC.

*/ inline ResourceDetails& WithAwsEc2Vpc(const AwsEc2VpcDetails& value) { SetAwsEc2Vpc(value); return *this;} /** *

Details for an Amazon EC2 VPC.

*/ inline ResourceDetails& WithAwsEc2Vpc(AwsEc2VpcDetails&& value) { SetAwsEc2Vpc(std::move(value)); return *this;} /** *

Details about an Elastic IP address.

*/ inline const AwsEc2EipDetails& GetAwsEc2Eip() const{ return m_awsEc2Eip; } /** *

Details about an Elastic IP address.

*/ inline bool AwsEc2EipHasBeenSet() const { return m_awsEc2EipHasBeenSet; } /** *

Details about an Elastic IP address.

*/ inline void SetAwsEc2Eip(const AwsEc2EipDetails& value) { m_awsEc2EipHasBeenSet = true; m_awsEc2Eip = value; } /** *

Details about an Elastic IP address.

*/ inline void SetAwsEc2Eip(AwsEc2EipDetails&& value) { m_awsEc2EipHasBeenSet = true; m_awsEc2Eip = std::move(value); } /** *

Details about an Elastic IP address.

*/ inline ResourceDetails& WithAwsEc2Eip(const AwsEc2EipDetails& value) { SetAwsEc2Eip(value); return *this;} /** *

Details about an Elastic IP address.

*/ inline ResourceDetails& WithAwsEc2Eip(AwsEc2EipDetails&& value) { SetAwsEc2Eip(std::move(value)); return *this;} /** *

Details about a subnet in Amazon EC2.

*/ inline const AwsEc2SubnetDetails& GetAwsEc2Subnet() const{ return m_awsEc2Subnet; } /** *

Details about a subnet in Amazon EC2.

*/ inline bool AwsEc2SubnetHasBeenSet() const { return m_awsEc2SubnetHasBeenSet; } /** *

Details about a subnet in Amazon EC2.

*/ inline void SetAwsEc2Subnet(const AwsEc2SubnetDetails& value) { m_awsEc2SubnetHasBeenSet = true; m_awsEc2Subnet = value; } /** *

Details about a subnet in Amazon EC2.

*/ inline void SetAwsEc2Subnet(AwsEc2SubnetDetails&& value) { m_awsEc2SubnetHasBeenSet = true; m_awsEc2Subnet = std::move(value); } /** *

Details about a subnet in Amazon EC2.

*/ inline ResourceDetails& WithAwsEc2Subnet(const AwsEc2SubnetDetails& value) { SetAwsEc2Subnet(value); return *this;} /** *

Details about a subnet in Amazon EC2.

*/ inline ResourceDetails& WithAwsEc2Subnet(AwsEc2SubnetDetails&& value) { SetAwsEc2Subnet(std::move(value)); return *this;} /** *

Details about an EC2 network access control list (ACL).

*/ inline const AwsEc2NetworkAclDetails& GetAwsEc2NetworkAcl() const{ return m_awsEc2NetworkAcl; } /** *

Details about an EC2 network access control list (ACL).

*/ inline bool AwsEc2NetworkAclHasBeenSet() const { return m_awsEc2NetworkAclHasBeenSet; } /** *

Details about an EC2 network access control list (ACL).

*/ inline void SetAwsEc2NetworkAcl(const AwsEc2NetworkAclDetails& value) { m_awsEc2NetworkAclHasBeenSet = true; m_awsEc2NetworkAcl = value; } /** *

Details about an EC2 network access control list (ACL).

*/ inline void SetAwsEc2NetworkAcl(AwsEc2NetworkAclDetails&& value) { m_awsEc2NetworkAclHasBeenSet = true; m_awsEc2NetworkAcl = std::move(value); } /** *

Details about an EC2 network access control list (ACL).

*/ inline ResourceDetails& WithAwsEc2NetworkAcl(const AwsEc2NetworkAclDetails& value) { SetAwsEc2NetworkAcl(value); return *this;} /** *

Details about an EC2 network access control list (ACL).

*/ inline ResourceDetails& WithAwsEc2NetworkAcl(AwsEc2NetworkAclDetails&& value) { SetAwsEc2NetworkAcl(std::move(value)); return *this;} /** *

Details about a load balancer.

*/ inline const AwsElbv2LoadBalancerDetails& GetAwsElbv2LoadBalancer() const{ return m_awsElbv2LoadBalancer; } /** *

Details about a load balancer.

*/ inline bool AwsElbv2LoadBalancerHasBeenSet() const { return m_awsElbv2LoadBalancerHasBeenSet; } /** *

Details about a load balancer.

*/ inline void SetAwsElbv2LoadBalancer(const AwsElbv2LoadBalancerDetails& value) { m_awsElbv2LoadBalancerHasBeenSet = true; m_awsElbv2LoadBalancer = value; } /** *

Details about a load balancer.

*/ inline void SetAwsElbv2LoadBalancer(AwsElbv2LoadBalancerDetails&& value) { m_awsElbv2LoadBalancerHasBeenSet = true; m_awsElbv2LoadBalancer = std::move(value); } /** *

Details about a load balancer.

*/ inline ResourceDetails& WithAwsElbv2LoadBalancer(const AwsElbv2LoadBalancerDetails& value) { SetAwsElbv2LoadBalancer(value); return *this;} /** *

Details about a load balancer.

*/ inline ResourceDetails& WithAwsElbv2LoadBalancer(AwsElbv2LoadBalancerDetails&& value) { SetAwsElbv2LoadBalancer(std::move(value)); return *this;} /** *

Details about an Elastic Beanstalk environment.

*/ inline const AwsElasticBeanstalkEnvironmentDetails& GetAwsElasticBeanstalkEnvironment() const{ return m_awsElasticBeanstalkEnvironment; } /** *

Details about an Elastic Beanstalk environment.

*/ inline bool AwsElasticBeanstalkEnvironmentHasBeenSet() const { return m_awsElasticBeanstalkEnvironmentHasBeenSet; } /** *

Details about an Elastic Beanstalk environment.

*/ inline void SetAwsElasticBeanstalkEnvironment(const AwsElasticBeanstalkEnvironmentDetails& value) { m_awsElasticBeanstalkEnvironmentHasBeenSet = true; m_awsElasticBeanstalkEnvironment = value; } /** *

Details about an Elastic Beanstalk environment.

*/ inline void SetAwsElasticBeanstalkEnvironment(AwsElasticBeanstalkEnvironmentDetails&& value) { m_awsElasticBeanstalkEnvironmentHasBeenSet = true; m_awsElasticBeanstalkEnvironment = std::move(value); } /** *

Details about an Elastic Beanstalk environment.

*/ inline ResourceDetails& WithAwsElasticBeanstalkEnvironment(const AwsElasticBeanstalkEnvironmentDetails& value) { SetAwsElasticBeanstalkEnvironment(value); return *this;} /** *

Details about an Elastic Beanstalk environment.

*/ inline ResourceDetails& WithAwsElasticBeanstalkEnvironment(AwsElasticBeanstalkEnvironmentDetails&& value) { SetAwsElasticBeanstalkEnvironment(std::move(value)); return *this;} /** *

Details for an Elasticsearch domain.

*/ inline const AwsElasticsearchDomainDetails& GetAwsElasticsearchDomain() const{ return m_awsElasticsearchDomain; } /** *

Details for an Elasticsearch domain.

*/ inline bool AwsElasticsearchDomainHasBeenSet() const { return m_awsElasticsearchDomainHasBeenSet; } /** *

Details for an Elasticsearch domain.

*/ inline void SetAwsElasticsearchDomain(const AwsElasticsearchDomainDetails& value) { m_awsElasticsearchDomainHasBeenSet = true; m_awsElasticsearchDomain = value; } /** *

Details for an Elasticsearch domain.

*/ inline void SetAwsElasticsearchDomain(AwsElasticsearchDomainDetails&& value) { m_awsElasticsearchDomainHasBeenSet = true; m_awsElasticsearchDomain = std::move(value); } /** *

Details for an Elasticsearch domain.

*/ inline ResourceDetails& WithAwsElasticsearchDomain(const AwsElasticsearchDomainDetails& value) { SetAwsElasticsearchDomain(value); return *this;} /** *

Details for an Elasticsearch domain.

*/ inline ResourceDetails& WithAwsElasticsearchDomain(AwsElasticsearchDomainDetails&& value) { SetAwsElasticsearchDomain(std::move(value)); return *this;} /** *

Details about an S3 bucket related to a finding.

*/ inline const AwsS3BucketDetails& GetAwsS3Bucket() const{ return m_awsS3Bucket; } /** *

Details about an S3 bucket related to a finding.

*/ inline bool AwsS3BucketHasBeenSet() const { return m_awsS3BucketHasBeenSet; } /** *

Details about an S3 bucket related to a finding.

*/ inline void SetAwsS3Bucket(const AwsS3BucketDetails& value) { m_awsS3BucketHasBeenSet = true; m_awsS3Bucket = value; } /** *

Details about an S3 bucket related to a finding.

*/ inline void SetAwsS3Bucket(AwsS3BucketDetails&& value) { m_awsS3BucketHasBeenSet = true; m_awsS3Bucket = std::move(value); } /** *

Details about an S3 bucket related to a finding.

*/ inline ResourceDetails& WithAwsS3Bucket(const AwsS3BucketDetails& value) { SetAwsS3Bucket(value); return *this;} /** *

Details about an S3 bucket related to a finding.

*/ inline ResourceDetails& WithAwsS3Bucket(AwsS3BucketDetails&& value) { SetAwsS3Bucket(std::move(value)); return *this;} /** *

Details about the Amazon S3 Public Access Block configuration for an * account.

*/ inline const AwsS3AccountPublicAccessBlockDetails& GetAwsS3AccountPublicAccessBlock() const{ return m_awsS3AccountPublicAccessBlock; } /** *

Details about the Amazon S3 Public Access Block configuration for an * account.

*/ inline bool AwsS3AccountPublicAccessBlockHasBeenSet() const { return m_awsS3AccountPublicAccessBlockHasBeenSet; } /** *

Details about the Amazon S3 Public Access Block configuration for an * account.

*/ inline void SetAwsS3AccountPublicAccessBlock(const AwsS3AccountPublicAccessBlockDetails& value) { m_awsS3AccountPublicAccessBlockHasBeenSet = true; m_awsS3AccountPublicAccessBlock = value; } /** *

Details about the Amazon S3 Public Access Block configuration for an * account.

*/ inline void SetAwsS3AccountPublicAccessBlock(AwsS3AccountPublicAccessBlockDetails&& value) { m_awsS3AccountPublicAccessBlockHasBeenSet = true; m_awsS3AccountPublicAccessBlock = std::move(value); } /** *

Details about the Amazon S3 Public Access Block configuration for an * account.

*/ inline ResourceDetails& WithAwsS3AccountPublicAccessBlock(const AwsS3AccountPublicAccessBlockDetails& value) { SetAwsS3AccountPublicAccessBlock(value); return *this;} /** *

Details about the Amazon S3 Public Access Block configuration for an * account.

*/ inline ResourceDetails& WithAwsS3AccountPublicAccessBlock(AwsS3AccountPublicAccessBlockDetails&& value) { SetAwsS3AccountPublicAccessBlock(std::move(value)); return *this;} /** *

Details about an S3 object related to a finding.

*/ inline const AwsS3ObjectDetails& GetAwsS3Object() const{ return m_awsS3Object; } /** *

Details about an S3 object related to a finding.

*/ inline bool AwsS3ObjectHasBeenSet() const { return m_awsS3ObjectHasBeenSet; } /** *

Details about an S3 object related to a finding.

*/ inline void SetAwsS3Object(const AwsS3ObjectDetails& value) { m_awsS3ObjectHasBeenSet = true; m_awsS3Object = value; } /** *

Details about an S3 object related to a finding.

*/ inline void SetAwsS3Object(AwsS3ObjectDetails&& value) { m_awsS3ObjectHasBeenSet = true; m_awsS3Object = std::move(value); } /** *

Details about an S3 object related to a finding.

*/ inline ResourceDetails& WithAwsS3Object(const AwsS3ObjectDetails& value) { SetAwsS3Object(value); return *this;} /** *

Details about an S3 object related to a finding.

*/ inline ResourceDetails& WithAwsS3Object(AwsS3ObjectDetails&& value) { SetAwsS3Object(std::move(value)); return *this;} /** *

Details about a Secrets Manager secret.

*/ inline const AwsSecretsManagerSecretDetails& GetAwsSecretsManagerSecret() const{ return m_awsSecretsManagerSecret; } /** *

Details about a Secrets Manager secret.

*/ inline bool AwsSecretsManagerSecretHasBeenSet() const { return m_awsSecretsManagerSecretHasBeenSet; } /** *

Details about a Secrets Manager secret.

*/ inline void SetAwsSecretsManagerSecret(const AwsSecretsManagerSecretDetails& value) { m_awsSecretsManagerSecretHasBeenSet = true; m_awsSecretsManagerSecret = value; } /** *

Details about a Secrets Manager secret.

*/ inline void SetAwsSecretsManagerSecret(AwsSecretsManagerSecretDetails&& value) { m_awsSecretsManagerSecretHasBeenSet = true; m_awsSecretsManagerSecret = std::move(value); } /** *

Details about a Secrets Manager secret.

*/ inline ResourceDetails& WithAwsSecretsManagerSecret(const AwsSecretsManagerSecretDetails& value) { SetAwsSecretsManagerSecret(value); return *this;} /** *

Details about a Secrets Manager secret.

*/ inline ResourceDetails& WithAwsSecretsManagerSecret(AwsSecretsManagerSecretDetails&& value) { SetAwsSecretsManagerSecret(std::move(value)); return *this;} /** *

Details about an IAM access key related to a finding.

*/ inline const AwsIamAccessKeyDetails& GetAwsIamAccessKey() const{ return m_awsIamAccessKey; } /** *

Details about an IAM access key related to a finding.

*/ inline bool AwsIamAccessKeyHasBeenSet() const { return m_awsIamAccessKeyHasBeenSet; } /** *

Details about an IAM access key related to a finding.

*/ inline void SetAwsIamAccessKey(const AwsIamAccessKeyDetails& value) { m_awsIamAccessKeyHasBeenSet = true; m_awsIamAccessKey = value; } /** *

Details about an IAM access key related to a finding.

*/ inline void SetAwsIamAccessKey(AwsIamAccessKeyDetails&& value) { m_awsIamAccessKeyHasBeenSet = true; m_awsIamAccessKey = std::move(value); } /** *

Details about an IAM access key related to a finding.

*/ inline ResourceDetails& WithAwsIamAccessKey(const AwsIamAccessKeyDetails& value) { SetAwsIamAccessKey(value); return *this;} /** *

Details about an IAM access key related to a finding.

*/ inline ResourceDetails& WithAwsIamAccessKey(AwsIamAccessKeyDetails&& value) { SetAwsIamAccessKey(std::move(value)); return *this;} /** *

Details about an IAM user.

*/ inline const AwsIamUserDetails& GetAwsIamUser() const{ return m_awsIamUser; } /** *

Details about an IAM user.

*/ inline bool AwsIamUserHasBeenSet() const { return m_awsIamUserHasBeenSet; } /** *

Details about an IAM user.

*/ inline void SetAwsIamUser(const AwsIamUserDetails& value) { m_awsIamUserHasBeenSet = true; m_awsIamUser = value; } /** *

Details about an IAM user.

*/ inline void SetAwsIamUser(AwsIamUserDetails&& value) { m_awsIamUserHasBeenSet = true; m_awsIamUser = std::move(value); } /** *

Details about an IAM user.

*/ inline ResourceDetails& WithAwsIamUser(const AwsIamUserDetails& value) { SetAwsIamUser(value); return *this;} /** *

Details about an IAM user.

*/ inline ResourceDetails& WithAwsIamUser(AwsIamUserDetails&& value) { SetAwsIamUser(std::move(value)); return *this;} /** *

Details about an IAM permissions policy.

*/ inline const AwsIamPolicyDetails& GetAwsIamPolicy() const{ return m_awsIamPolicy; } /** *

Details about an IAM permissions policy.

*/ inline bool AwsIamPolicyHasBeenSet() const { return m_awsIamPolicyHasBeenSet; } /** *

Details about an IAM permissions policy.

*/ inline void SetAwsIamPolicy(const AwsIamPolicyDetails& value) { m_awsIamPolicyHasBeenSet = true; m_awsIamPolicy = value; } /** *

Details about an IAM permissions policy.

*/ inline void SetAwsIamPolicy(AwsIamPolicyDetails&& value) { m_awsIamPolicyHasBeenSet = true; m_awsIamPolicy = std::move(value); } /** *

Details about an IAM permissions policy.

*/ inline ResourceDetails& WithAwsIamPolicy(const AwsIamPolicyDetails& value) { SetAwsIamPolicy(value); return *this;} /** *

Details about an IAM permissions policy.

*/ inline ResourceDetails& WithAwsIamPolicy(AwsIamPolicyDetails&& value) { SetAwsIamPolicy(std::move(value)); return *this;} /** *

Provides information about a version 2 stage for Amazon API Gateway.

*/ inline const AwsApiGatewayV2StageDetails& GetAwsApiGatewayV2Stage() const{ return m_awsApiGatewayV2Stage; } /** *

Provides information about a version 2 stage for Amazon API Gateway.

*/ inline bool AwsApiGatewayV2StageHasBeenSet() const { return m_awsApiGatewayV2StageHasBeenSet; } /** *

Provides information about a version 2 stage for Amazon API Gateway.

*/ inline void SetAwsApiGatewayV2Stage(const AwsApiGatewayV2StageDetails& value) { m_awsApiGatewayV2StageHasBeenSet = true; m_awsApiGatewayV2Stage = value; } /** *

Provides information about a version 2 stage for Amazon API Gateway.

*/ inline void SetAwsApiGatewayV2Stage(AwsApiGatewayV2StageDetails&& value) { m_awsApiGatewayV2StageHasBeenSet = true; m_awsApiGatewayV2Stage = std::move(value); } /** *

Provides information about a version 2 stage for Amazon API Gateway.

*/ inline ResourceDetails& WithAwsApiGatewayV2Stage(const AwsApiGatewayV2StageDetails& value) { SetAwsApiGatewayV2Stage(value); return *this;} /** *

Provides information about a version 2 stage for Amazon API Gateway.

*/ inline ResourceDetails& WithAwsApiGatewayV2Stage(AwsApiGatewayV2StageDetails&& value) { SetAwsApiGatewayV2Stage(std::move(value)); return *this;} /** *

Provides information about a version 2 API in Amazon API Gateway.

*/ inline const AwsApiGatewayV2ApiDetails& GetAwsApiGatewayV2Api() const{ return m_awsApiGatewayV2Api; } /** *

Provides information about a version 2 API in Amazon API Gateway.

*/ inline bool AwsApiGatewayV2ApiHasBeenSet() const { return m_awsApiGatewayV2ApiHasBeenSet; } /** *

Provides information about a version 2 API in Amazon API Gateway.

*/ inline void SetAwsApiGatewayV2Api(const AwsApiGatewayV2ApiDetails& value) { m_awsApiGatewayV2ApiHasBeenSet = true; m_awsApiGatewayV2Api = value; } /** *

Provides information about a version 2 API in Amazon API Gateway.

*/ inline void SetAwsApiGatewayV2Api(AwsApiGatewayV2ApiDetails&& value) { m_awsApiGatewayV2ApiHasBeenSet = true; m_awsApiGatewayV2Api = std::move(value); } /** *

Provides information about a version 2 API in Amazon API Gateway.

*/ inline ResourceDetails& WithAwsApiGatewayV2Api(const AwsApiGatewayV2ApiDetails& value) { SetAwsApiGatewayV2Api(value); return *this;} /** *

Provides information about a version 2 API in Amazon API Gateway.

*/ inline ResourceDetails& WithAwsApiGatewayV2Api(AwsApiGatewayV2ApiDetails&& value) { SetAwsApiGatewayV2Api(std::move(value)); return *this;} /** *

Details about a DynamoDB table.

*/ inline const AwsDynamoDbTableDetails& GetAwsDynamoDbTable() const{ return m_awsDynamoDbTable; } /** *

Details about a DynamoDB table.

*/ inline bool AwsDynamoDbTableHasBeenSet() const { return m_awsDynamoDbTableHasBeenSet; } /** *

Details about a DynamoDB table.

*/ inline void SetAwsDynamoDbTable(const AwsDynamoDbTableDetails& value) { m_awsDynamoDbTableHasBeenSet = true; m_awsDynamoDbTable = value; } /** *

Details about a DynamoDB table.

*/ inline void SetAwsDynamoDbTable(AwsDynamoDbTableDetails&& value) { m_awsDynamoDbTableHasBeenSet = true; m_awsDynamoDbTable = std::move(value); } /** *

Details about a DynamoDB table.

*/ inline ResourceDetails& WithAwsDynamoDbTable(const AwsDynamoDbTableDetails& value) { SetAwsDynamoDbTable(value); return *this;} /** *

Details about a DynamoDB table.

*/ inline ResourceDetails& WithAwsDynamoDbTable(AwsDynamoDbTableDetails&& value) { SetAwsDynamoDbTable(std::move(value)); return *this;} /** *

Provides information about a version 1 Amazon API Gateway stage.

*/ inline const AwsApiGatewayStageDetails& GetAwsApiGatewayStage() const{ return m_awsApiGatewayStage; } /** *

Provides information about a version 1 Amazon API Gateway stage.

*/ inline bool AwsApiGatewayStageHasBeenSet() const { return m_awsApiGatewayStageHasBeenSet; } /** *

Provides information about a version 1 Amazon API Gateway stage.

*/ inline void SetAwsApiGatewayStage(const AwsApiGatewayStageDetails& value) { m_awsApiGatewayStageHasBeenSet = true; m_awsApiGatewayStage = value; } /** *

Provides information about a version 1 Amazon API Gateway stage.

*/ inline void SetAwsApiGatewayStage(AwsApiGatewayStageDetails&& value) { m_awsApiGatewayStageHasBeenSet = true; m_awsApiGatewayStage = std::move(value); } /** *

Provides information about a version 1 Amazon API Gateway stage.

*/ inline ResourceDetails& WithAwsApiGatewayStage(const AwsApiGatewayStageDetails& value) { SetAwsApiGatewayStage(value); return *this;} /** *

Provides information about a version 1 Amazon API Gateway stage.

*/ inline ResourceDetails& WithAwsApiGatewayStage(AwsApiGatewayStageDetails&& value) { SetAwsApiGatewayStage(std::move(value)); return *this;} /** *

Provides information about a REST API in version 1 of Amazon API Gateway.

*/ inline const AwsApiGatewayRestApiDetails& GetAwsApiGatewayRestApi() const{ return m_awsApiGatewayRestApi; } /** *

Provides information about a REST API in version 1 of Amazon API Gateway.

*/ inline bool AwsApiGatewayRestApiHasBeenSet() const { return m_awsApiGatewayRestApiHasBeenSet; } /** *

Provides information about a REST API in version 1 of Amazon API Gateway.

*/ inline void SetAwsApiGatewayRestApi(const AwsApiGatewayRestApiDetails& value) { m_awsApiGatewayRestApiHasBeenSet = true; m_awsApiGatewayRestApi = value; } /** *

Provides information about a REST API in version 1 of Amazon API Gateway.

*/ inline void SetAwsApiGatewayRestApi(AwsApiGatewayRestApiDetails&& value) { m_awsApiGatewayRestApiHasBeenSet = true; m_awsApiGatewayRestApi = std::move(value); } /** *

Provides information about a REST API in version 1 of Amazon API Gateway.

*/ inline ResourceDetails& WithAwsApiGatewayRestApi(const AwsApiGatewayRestApiDetails& value) { SetAwsApiGatewayRestApi(value); return *this;} /** *

Provides information about a REST API in version 1 of Amazon API Gateway.

*/ inline ResourceDetails& WithAwsApiGatewayRestApi(AwsApiGatewayRestApiDetails&& value) { SetAwsApiGatewayRestApi(std::move(value)); return *this;} /** *

Provides details about a CloudTrail trail.

*/ inline const AwsCloudTrailTrailDetails& GetAwsCloudTrailTrail() const{ return m_awsCloudTrailTrail; } /** *

Provides details about a CloudTrail trail.

*/ inline bool AwsCloudTrailTrailHasBeenSet() const { return m_awsCloudTrailTrailHasBeenSet; } /** *

Provides details about a CloudTrail trail.

*/ inline void SetAwsCloudTrailTrail(const AwsCloudTrailTrailDetails& value) { m_awsCloudTrailTrailHasBeenSet = true; m_awsCloudTrailTrail = value; } /** *

Provides details about a CloudTrail trail.

*/ inline void SetAwsCloudTrailTrail(AwsCloudTrailTrailDetails&& value) { m_awsCloudTrailTrailHasBeenSet = true; m_awsCloudTrailTrail = std::move(value); } /** *

Provides details about a CloudTrail trail.

*/ inline ResourceDetails& WithAwsCloudTrailTrail(const AwsCloudTrailTrailDetails& value) { SetAwsCloudTrailTrail(value); return *this;} /** *

Provides details about a CloudTrail trail.

*/ inline ResourceDetails& WithAwsCloudTrailTrail(AwsCloudTrailTrailDetails&& value) { SetAwsCloudTrailTrail(std::move(value)); return *this;} /** *

Provides information about the state of a patch on an instance based on the * patch baseline that was used to patch the instance.

*/ inline const AwsSsmPatchComplianceDetails& GetAwsSsmPatchCompliance() const{ return m_awsSsmPatchCompliance; } /** *

Provides information about the state of a patch on an instance based on the * patch baseline that was used to patch the instance.

*/ inline bool AwsSsmPatchComplianceHasBeenSet() const { return m_awsSsmPatchComplianceHasBeenSet; } /** *

Provides information about the state of a patch on an instance based on the * patch baseline that was used to patch the instance.

*/ inline void SetAwsSsmPatchCompliance(const AwsSsmPatchComplianceDetails& value) { m_awsSsmPatchComplianceHasBeenSet = true; m_awsSsmPatchCompliance = value; } /** *

Provides information about the state of a patch on an instance based on the * patch baseline that was used to patch the instance.

*/ inline void SetAwsSsmPatchCompliance(AwsSsmPatchComplianceDetails&& value) { m_awsSsmPatchComplianceHasBeenSet = true; m_awsSsmPatchCompliance = std::move(value); } /** *

Provides information about the state of a patch on an instance based on the * patch baseline that was used to patch the instance.

*/ inline ResourceDetails& WithAwsSsmPatchCompliance(const AwsSsmPatchComplianceDetails& value) { SetAwsSsmPatchCompliance(value); return *this;} /** *

Provides information about the state of a patch on an instance based on the * patch baseline that was used to patch the instance.

*/ inline ResourceDetails& WithAwsSsmPatchCompliance(AwsSsmPatchComplianceDetails&& value) { SetAwsSsmPatchCompliance(std::move(value)); return *this;} /** *

Provides details about an Certificate Manager certificate.

*/ inline const AwsCertificateManagerCertificateDetails& GetAwsCertificateManagerCertificate() const{ return m_awsCertificateManagerCertificate; } /** *

Provides details about an Certificate Manager certificate.

*/ inline bool AwsCertificateManagerCertificateHasBeenSet() const { return m_awsCertificateManagerCertificateHasBeenSet; } /** *

Provides details about an Certificate Manager certificate.

*/ inline void SetAwsCertificateManagerCertificate(const AwsCertificateManagerCertificateDetails& value) { m_awsCertificateManagerCertificateHasBeenSet = true; m_awsCertificateManagerCertificate = value; } /** *

Provides details about an Certificate Manager certificate.

*/ inline void SetAwsCertificateManagerCertificate(AwsCertificateManagerCertificateDetails&& value) { m_awsCertificateManagerCertificateHasBeenSet = true; m_awsCertificateManagerCertificate = std::move(value); } /** *

Provides details about an Certificate Manager certificate.

*/ inline ResourceDetails& WithAwsCertificateManagerCertificate(const AwsCertificateManagerCertificateDetails& value) { SetAwsCertificateManagerCertificate(value); return *this;} /** *

Provides details about an Certificate Manager certificate.

*/ inline ResourceDetails& WithAwsCertificateManagerCertificate(AwsCertificateManagerCertificateDetails&& value) { SetAwsCertificateManagerCertificate(std::move(value)); return *this;} /** *

Contains details about an Amazon Redshift cluster.

*/ inline const AwsRedshiftClusterDetails& GetAwsRedshiftCluster() const{ return m_awsRedshiftCluster; } /** *

Contains details about an Amazon Redshift cluster.

*/ inline bool AwsRedshiftClusterHasBeenSet() const { return m_awsRedshiftClusterHasBeenSet; } /** *

Contains details about an Amazon Redshift cluster.

*/ inline void SetAwsRedshiftCluster(const AwsRedshiftClusterDetails& value) { m_awsRedshiftClusterHasBeenSet = true; m_awsRedshiftCluster = value; } /** *

Contains details about an Amazon Redshift cluster.

*/ inline void SetAwsRedshiftCluster(AwsRedshiftClusterDetails&& value) { m_awsRedshiftClusterHasBeenSet = true; m_awsRedshiftCluster = std::move(value); } /** *

Contains details about an Amazon Redshift cluster.

*/ inline ResourceDetails& WithAwsRedshiftCluster(const AwsRedshiftClusterDetails& value) { SetAwsRedshiftCluster(value); return *this;} /** *

Contains details about an Amazon Redshift cluster.

*/ inline ResourceDetails& WithAwsRedshiftCluster(AwsRedshiftClusterDetails&& value) { SetAwsRedshiftCluster(std::move(value)); return *this;} /** *

Contains details about a Classic Load Balancer.

*/ inline const AwsElbLoadBalancerDetails& GetAwsElbLoadBalancer() const{ return m_awsElbLoadBalancer; } /** *

Contains details about a Classic Load Balancer.

*/ inline bool AwsElbLoadBalancerHasBeenSet() const { return m_awsElbLoadBalancerHasBeenSet; } /** *

Contains details about a Classic Load Balancer.

*/ inline void SetAwsElbLoadBalancer(const AwsElbLoadBalancerDetails& value) { m_awsElbLoadBalancerHasBeenSet = true; m_awsElbLoadBalancer = value; } /** *

Contains details about a Classic Load Balancer.

*/ inline void SetAwsElbLoadBalancer(AwsElbLoadBalancerDetails&& value) { m_awsElbLoadBalancerHasBeenSet = true; m_awsElbLoadBalancer = std::move(value); } /** *

Contains details about a Classic Load Balancer.

*/ inline ResourceDetails& WithAwsElbLoadBalancer(const AwsElbLoadBalancerDetails& value) { SetAwsElbLoadBalancer(value); return *this;} /** *

Contains details about a Classic Load Balancer.

*/ inline ResourceDetails& WithAwsElbLoadBalancer(AwsElbLoadBalancerDetails&& value) { SetAwsElbLoadBalancer(std::move(value)); return *this;} /** *

Contains details about an IAM group.

*/ inline const AwsIamGroupDetails& GetAwsIamGroup() const{ return m_awsIamGroup; } /** *

Contains details about an IAM group.

*/ inline bool AwsIamGroupHasBeenSet() const { return m_awsIamGroupHasBeenSet; } /** *

Contains details about an IAM group.

*/ inline void SetAwsIamGroup(const AwsIamGroupDetails& value) { m_awsIamGroupHasBeenSet = true; m_awsIamGroup = value; } /** *

Contains details about an IAM group.

*/ inline void SetAwsIamGroup(AwsIamGroupDetails&& value) { m_awsIamGroupHasBeenSet = true; m_awsIamGroup = std::move(value); } /** *

Contains details about an IAM group.

*/ inline ResourceDetails& WithAwsIamGroup(const AwsIamGroupDetails& value) { SetAwsIamGroup(value); return *this;} /** *

Contains details about an IAM group.

*/ inline ResourceDetails& WithAwsIamGroup(AwsIamGroupDetails&& value) { SetAwsIamGroup(std::move(value)); return *this;} /** *

Details about an IAM role.

*/ inline const AwsIamRoleDetails& GetAwsIamRole() const{ return m_awsIamRole; } /** *

Details about an IAM role.

*/ inline bool AwsIamRoleHasBeenSet() const { return m_awsIamRoleHasBeenSet; } /** *

Details about an IAM role.

*/ inline void SetAwsIamRole(const AwsIamRoleDetails& value) { m_awsIamRoleHasBeenSet = true; m_awsIamRole = value; } /** *

Details about an IAM role.

*/ inline void SetAwsIamRole(AwsIamRoleDetails&& value) { m_awsIamRoleHasBeenSet = true; m_awsIamRole = std::move(value); } /** *

Details about an IAM role.

*/ inline ResourceDetails& WithAwsIamRole(const AwsIamRoleDetails& value) { SetAwsIamRole(value); return *this;} /** *

Details about an IAM role.

*/ inline ResourceDetails& WithAwsIamRole(AwsIamRoleDetails&& value) { SetAwsIamRole(std::move(value)); return *this;} /** *

Details about an KMS key.

*/ inline const AwsKmsKeyDetails& GetAwsKmsKey() const{ return m_awsKmsKey; } /** *

Details about an KMS key.

*/ inline bool AwsKmsKeyHasBeenSet() const { return m_awsKmsKeyHasBeenSet; } /** *

Details about an KMS key.

*/ inline void SetAwsKmsKey(const AwsKmsKeyDetails& value) { m_awsKmsKeyHasBeenSet = true; m_awsKmsKey = value; } /** *

Details about an KMS key.

*/ inline void SetAwsKmsKey(AwsKmsKeyDetails&& value) { m_awsKmsKeyHasBeenSet = true; m_awsKmsKey = std::move(value); } /** *

Details about an KMS key.

*/ inline ResourceDetails& WithAwsKmsKey(const AwsKmsKeyDetails& value) { SetAwsKmsKey(value); return *this;} /** *

Details about an KMS key.

*/ inline ResourceDetails& WithAwsKmsKey(AwsKmsKeyDetails&& value) { SetAwsKmsKey(std::move(value)); return *this;} /** *

Details about a Lambda function.

*/ inline const AwsLambdaFunctionDetails& GetAwsLambdaFunction() const{ return m_awsLambdaFunction; } /** *

Details about a Lambda function.

*/ inline bool AwsLambdaFunctionHasBeenSet() const { return m_awsLambdaFunctionHasBeenSet; } /** *

Details about a Lambda function.

*/ inline void SetAwsLambdaFunction(const AwsLambdaFunctionDetails& value) { m_awsLambdaFunctionHasBeenSet = true; m_awsLambdaFunction = value; } /** *

Details about a Lambda function.

*/ inline void SetAwsLambdaFunction(AwsLambdaFunctionDetails&& value) { m_awsLambdaFunctionHasBeenSet = true; m_awsLambdaFunction = std::move(value); } /** *

Details about a Lambda function.

*/ inline ResourceDetails& WithAwsLambdaFunction(const AwsLambdaFunctionDetails& value) { SetAwsLambdaFunction(value); return *this;} /** *

Details about a Lambda function.

*/ inline ResourceDetails& WithAwsLambdaFunction(AwsLambdaFunctionDetails&& value) { SetAwsLambdaFunction(std::move(value)); return *this;} /** *

Details for a Lambda layer version.

*/ inline const AwsLambdaLayerVersionDetails& GetAwsLambdaLayerVersion() const{ return m_awsLambdaLayerVersion; } /** *

Details for a Lambda layer version.

*/ inline bool AwsLambdaLayerVersionHasBeenSet() const { return m_awsLambdaLayerVersionHasBeenSet; } /** *

Details for a Lambda layer version.

*/ inline void SetAwsLambdaLayerVersion(const AwsLambdaLayerVersionDetails& value) { m_awsLambdaLayerVersionHasBeenSet = true; m_awsLambdaLayerVersion = value; } /** *

Details for a Lambda layer version.

*/ inline void SetAwsLambdaLayerVersion(AwsLambdaLayerVersionDetails&& value) { m_awsLambdaLayerVersionHasBeenSet = true; m_awsLambdaLayerVersion = std::move(value); } /** *

Details for a Lambda layer version.

*/ inline ResourceDetails& WithAwsLambdaLayerVersion(const AwsLambdaLayerVersionDetails& value) { SetAwsLambdaLayerVersion(value); return *this;} /** *

Details for a Lambda layer version.

*/ inline ResourceDetails& WithAwsLambdaLayerVersion(AwsLambdaLayerVersionDetails&& value) { SetAwsLambdaLayerVersion(std::move(value)); return *this;} /** *

Details about an Amazon RDS database instance.

*/ inline const AwsRdsDbInstanceDetails& GetAwsRdsDbInstance() const{ return m_awsRdsDbInstance; } /** *

Details about an Amazon RDS database instance.

*/ inline bool AwsRdsDbInstanceHasBeenSet() const { return m_awsRdsDbInstanceHasBeenSet; } /** *

Details about an Amazon RDS database instance.

*/ inline void SetAwsRdsDbInstance(const AwsRdsDbInstanceDetails& value) { m_awsRdsDbInstanceHasBeenSet = true; m_awsRdsDbInstance = value; } /** *

Details about an Amazon RDS database instance.

*/ inline void SetAwsRdsDbInstance(AwsRdsDbInstanceDetails&& value) { m_awsRdsDbInstanceHasBeenSet = true; m_awsRdsDbInstance = std::move(value); } /** *

Details about an Amazon RDS database instance.

*/ inline ResourceDetails& WithAwsRdsDbInstance(const AwsRdsDbInstanceDetails& value) { SetAwsRdsDbInstance(value); return *this;} /** *

Details about an Amazon RDS database instance.

*/ inline ResourceDetails& WithAwsRdsDbInstance(AwsRdsDbInstanceDetails&& value) { SetAwsRdsDbInstance(std::move(value)); return *this;} /** *

Details about an SNS topic.

*/ inline const AwsSnsTopicDetails& GetAwsSnsTopic() const{ return m_awsSnsTopic; } /** *

Details about an SNS topic.

*/ inline bool AwsSnsTopicHasBeenSet() const { return m_awsSnsTopicHasBeenSet; } /** *

Details about an SNS topic.

*/ inline void SetAwsSnsTopic(const AwsSnsTopicDetails& value) { m_awsSnsTopicHasBeenSet = true; m_awsSnsTopic = value; } /** *

Details about an SNS topic.

*/ inline void SetAwsSnsTopic(AwsSnsTopicDetails&& value) { m_awsSnsTopicHasBeenSet = true; m_awsSnsTopic = std::move(value); } /** *

Details about an SNS topic.

*/ inline ResourceDetails& WithAwsSnsTopic(const AwsSnsTopicDetails& value) { SetAwsSnsTopic(value); return *this;} /** *

Details about an SNS topic.

*/ inline ResourceDetails& WithAwsSnsTopic(AwsSnsTopicDetails&& value) { SetAwsSnsTopic(std::move(value)); return *this;} /** *

Details about an SQS queue.

*/ inline const AwsSqsQueueDetails& GetAwsSqsQueue() const{ return m_awsSqsQueue; } /** *

Details about an SQS queue.

*/ inline bool AwsSqsQueueHasBeenSet() const { return m_awsSqsQueueHasBeenSet; } /** *

Details about an SQS queue.

*/ inline void SetAwsSqsQueue(const AwsSqsQueueDetails& value) { m_awsSqsQueueHasBeenSet = true; m_awsSqsQueue = value; } /** *

Details about an SQS queue.

*/ inline void SetAwsSqsQueue(AwsSqsQueueDetails&& value) { m_awsSqsQueueHasBeenSet = true; m_awsSqsQueue = std::move(value); } /** *

Details about an SQS queue.

*/ inline ResourceDetails& WithAwsSqsQueue(const AwsSqsQueueDetails& value) { SetAwsSqsQueue(value); return *this;} /** *

Details about an SQS queue.

*/ inline ResourceDetails& WithAwsSqsQueue(AwsSqsQueueDetails&& value) { SetAwsSqsQueue(std::move(value)); return *this;} /** *

Details for an WAF web ACL.

*/ inline const AwsWafWebAclDetails& GetAwsWafWebAcl() const{ return m_awsWafWebAcl; } /** *

Details for an WAF web ACL.

*/ inline bool AwsWafWebAclHasBeenSet() const { return m_awsWafWebAclHasBeenSet; } /** *

Details for an WAF web ACL.

*/ inline void SetAwsWafWebAcl(const AwsWafWebAclDetails& value) { m_awsWafWebAclHasBeenSet = true; m_awsWafWebAcl = value; } /** *

Details for an WAF web ACL.

*/ inline void SetAwsWafWebAcl(AwsWafWebAclDetails&& value) { m_awsWafWebAclHasBeenSet = true; m_awsWafWebAcl = std::move(value); } /** *

Details for an WAF web ACL.

*/ inline ResourceDetails& WithAwsWafWebAcl(const AwsWafWebAclDetails& value) { SetAwsWafWebAcl(value); return *this;} /** *

Details for an WAF web ACL.

*/ inline ResourceDetails& WithAwsWafWebAcl(AwsWafWebAclDetails&& value) { SetAwsWafWebAcl(std::move(value)); return *this;} /** *

Details about an Amazon RDS database snapshot.

*/ inline const AwsRdsDbSnapshotDetails& GetAwsRdsDbSnapshot() const{ return m_awsRdsDbSnapshot; } /** *

Details about an Amazon RDS database snapshot.

*/ inline bool AwsRdsDbSnapshotHasBeenSet() const { return m_awsRdsDbSnapshotHasBeenSet; } /** *

Details about an Amazon RDS database snapshot.

*/ inline void SetAwsRdsDbSnapshot(const AwsRdsDbSnapshotDetails& value) { m_awsRdsDbSnapshotHasBeenSet = true; m_awsRdsDbSnapshot = value; } /** *

Details about an Amazon RDS database snapshot.

*/ inline void SetAwsRdsDbSnapshot(AwsRdsDbSnapshotDetails&& value) { m_awsRdsDbSnapshotHasBeenSet = true; m_awsRdsDbSnapshot = std::move(value); } /** *

Details about an Amazon RDS database snapshot.

*/ inline ResourceDetails& WithAwsRdsDbSnapshot(const AwsRdsDbSnapshotDetails& value) { SetAwsRdsDbSnapshot(value); return *this;} /** *

Details about an Amazon RDS database snapshot.

*/ inline ResourceDetails& WithAwsRdsDbSnapshot(AwsRdsDbSnapshotDetails&& value) { SetAwsRdsDbSnapshot(std::move(value)); return *this;} /** *

Details about an Amazon RDS database cluster snapshot.

*/ inline const AwsRdsDbClusterSnapshotDetails& GetAwsRdsDbClusterSnapshot() const{ return m_awsRdsDbClusterSnapshot; } /** *

Details about an Amazon RDS database cluster snapshot.

*/ inline bool AwsRdsDbClusterSnapshotHasBeenSet() const { return m_awsRdsDbClusterSnapshotHasBeenSet; } /** *

Details about an Amazon RDS database cluster snapshot.

*/ inline void SetAwsRdsDbClusterSnapshot(const AwsRdsDbClusterSnapshotDetails& value) { m_awsRdsDbClusterSnapshotHasBeenSet = true; m_awsRdsDbClusterSnapshot = value; } /** *

Details about an Amazon RDS database cluster snapshot.

*/ inline void SetAwsRdsDbClusterSnapshot(AwsRdsDbClusterSnapshotDetails&& value) { m_awsRdsDbClusterSnapshotHasBeenSet = true; m_awsRdsDbClusterSnapshot = std::move(value); } /** *

Details about an Amazon RDS database cluster snapshot.

*/ inline ResourceDetails& WithAwsRdsDbClusterSnapshot(const AwsRdsDbClusterSnapshotDetails& value) { SetAwsRdsDbClusterSnapshot(value); return *this;} /** *

Details about an Amazon RDS database cluster snapshot.

*/ inline ResourceDetails& WithAwsRdsDbClusterSnapshot(AwsRdsDbClusterSnapshotDetails&& value) { SetAwsRdsDbClusterSnapshot(std::move(value)); return *this;} /** *

Details about an Amazon RDS database cluster.

*/ inline const AwsRdsDbClusterDetails& GetAwsRdsDbCluster() const{ return m_awsRdsDbCluster; } /** *

Details about an Amazon RDS database cluster.

*/ inline bool AwsRdsDbClusterHasBeenSet() const { return m_awsRdsDbClusterHasBeenSet; } /** *

Details about an Amazon RDS database cluster.

*/ inline void SetAwsRdsDbCluster(const AwsRdsDbClusterDetails& value) { m_awsRdsDbClusterHasBeenSet = true; m_awsRdsDbCluster = value; } /** *

Details about an Amazon RDS database cluster.

*/ inline void SetAwsRdsDbCluster(AwsRdsDbClusterDetails&& value) { m_awsRdsDbClusterHasBeenSet = true; m_awsRdsDbCluster = std::move(value); } /** *

Details about an Amazon RDS database cluster.

*/ inline ResourceDetails& WithAwsRdsDbCluster(const AwsRdsDbClusterDetails& value) { SetAwsRdsDbCluster(value); return *this;} /** *

Details about an Amazon RDS database cluster.

*/ inline ResourceDetails& WithAwsRdsDbCluster(AwsRdsDbClusterDetails&& value) { SetAwsRdsDbCluster(std::move(value)); return *this;} /** *

Details about an Amazon ECS cluster.

*/ inline const AwsEcsClusterDetails& GetAwsEcsCluster() const{ return m_awsEcsCluster; } /** *

Details about an Amazon ECS cluster.

*/ inline bool AwsEcsClusterHasBeenSet() const { return m_awsEcsClusterHasBeenSet; } /** *

Details about an Amazon ECS cluster.

*/ inline void SetAwsEcsCluster(const AwsEcsClusterDetails& value) { m_awsEcsClusterHasBeenSet = true; m_awsEcsCluster = value; } /** *

Details about an Amazon ECS cluster.

*/ inline void SetAwsEcsCluster(AwsEcsClusterDetails&& value) { m_awsEcsClusterHasBeenSet = true; m_awsEcsCluster = std::move(value); } /** *

Details about an Amazon ECS cluster.

*/ inline ResourceDetails& WithAwsEcsCluster(const AwsEcsClusterDetails& value) { SetAwsEcsCluster(value); return *this;} /** *

Details about an Amazon ECS cluster.

*/ inline ResourceDetails& WithAwsEcsCluster(AwsEcsClusterDetails&& value) { SetAwsEcsCluster(std::move(value)); return *this;} /** *

Provides information about a Docker container that's part of a task.

*/ inline const AwsEcsContainerDetails& GetAwsEcsContainer() const{ return m_awsEcsContainer; } /** *

Provides information about a Docker container that's part of a task.

*/ inline bool AwsEcsContainerHasBeenSet() const { return m_awsEcsContainerHasBeenSet; } /** *

Provides information about a Docker container that's part of a task.

*/ inline void SetAwsEcsContainer(const AwsEcsContainerDetails& value) { m_awsEcsContainerHasBeenSet = true; m_awsEcsContainer = value; } /** *

Provides information about a Docker container that's part of a task.

*/ inline void SetAwsEcsContainer(AwsEcsContainerDetails&& value) { m_awsEcsContainerHasBeenSet = true; m_awsEcsContainer = std::move(value); } /** *

Provides information about a Docker container that's part of a task.

*/ inline ResourceDetails& WithAwsEcsContainer(const AwsEcsContainerDetails& value) { SetAwsEcsContainer(value); return *this;} /** *

Provides information about a Docker container that's part of a task.

*/ inline ResourceDetails& WithAwsEcsContainer(AwsEcsContainerDetails&& value) { SetAwsEcsContainer(std::move(value)); return *this;} /** *

Details about a task definition. A task definition describes the container * and volume definitions of an Amazon Elastic Container Service task.

*/ inline const AwsEcsTaskDefinitionDetails& GetAwsEcsTaskDefinition() const{ return m_awsEcsTaskDefinition; } /** *

Details about a task definition. A task definition describes the container * and volume definitions of an Amazon Elastic Container Service task.

*/ inline bool AwsEcsTaskDefinitionHasBeenSet() const { return m_awsEcsTaskDefinitionHasBeenSet; } /** *

Details about a task definition. A task definition describes the container * and volume definitions of an Amazon Elastic Container Service task.

*/ inline void SetAwsEcsTaskDefinition(const AwsEcsTaskDefinitionDetails& value) { m_awsEcsTaskDefinitionHasBeenSet = true; m_awsEcsTaskDefinition = value; } /** *

Details about a task definition. A task definition describes the container * and volume definitions of an Amazon Elastic Container Service task.

*/ inline void SetAwsEcsTaskDefinition(AwsEcsTaskDefinitionDetails&& value) { m_awsEcsTaskDefinitionHasBeenSet = true; m_awsEcsTaskDefinition = std::move(value); } /** *

Details about a task definition. A task definition describes the container * and volume definitions of an Amazon Elastic Container Service task.

*/ inline ResourceDetails& WithAwsEcsTaskDefinition(const AwsEcsTaskDefinitionDetails& value) { SetAwsEcsTaskDefinition(value); return *this;} /** *

Details about a task definition. A task definition describes the container * and volume definitions of an Amazon Elastic Container Service task.

*/ inline ResourceDetails& WithAwsEcsTaskDefinition(AwsEcsTaskDefinitionDetails&& value) { SetAwsEcsTaskDefinition(std::move(value)); return *this;} /** *

Details about a container resource related to a finding.

*/ inline const ContainerDetails& GetContainer() const{ return m_container; } /** *

Details about a container resource related to a finding.

*/ inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; } /** *

Details about a container resource related to a finding.

*/ inline void SetContainer(const ContainerDetails& value) { m_containerHasBeenSet = true; m_container = value; } /** *

Details about a container resource related to a finding.

*/ inline void SetContainer(ContainerDetails&& value) { m_containerHasBeenSet = true; m_container = std::move(value); } /** *

Details about a container resource related to a finding.

*/ inline ResourceDetails& WithContainer(const ContainerDetails& value) { SetContainer(value); return *this;} /** *

Details about a container resource related to a finding.

*/ inline ResourceDetails& WithContainer(ContainerDetails&& value) { SetContainer(std::move(value)); return *this;} /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline const Aws::Map& GetOther() const{ return m_other; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline bool OtherHasBeenSet() const { return m_otherHasBeenSet; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline void SetOther(const Aws::Map& value) { m_otherHasBeenSet = true; m_other = value; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline void SetOther(Aws::Map&& value) { m_otherHasBeenSet = true; m_other = std::move(value); } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& WithOther(const Aws::Map& value) { SetOther(value); return *this;} /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& WithOther(Aws::Map&& value) { SetOther(std::move(value)); return *this;} /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(const Aws::String& key, const Aws::String& value) { m_otherHasBeenSet = true; m_other.emplace(key, value); return *this; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(Aws::String&& key, const Aws::String& value) { m_otherHasBeenSet = true; m_other.emplace(std::move(key), value); return *this; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(const Aws::String& key, Aws::String&& value) { m_otherHasBeenSet = true; m_other.emplace(key, std::move(value)); return *this; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(Aws::String&& key, Aws::String&& value) { m_otherHasBeenSet = true; m_other.emplace(std::move(key), std::move(value)); return *this; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(const char* key, Aws::String&& value) { m_otherHasBeenSet = true; m_other.emplace(key, std::move(value)); return *this; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(Aws::String&& key, const char* value) { m_otherHasBeenSet = true; m_other.emplace(std::move(key), value); return *this; } /** *

Details about a resource that are not available in a type-specific details * object. Use the Other object in the following cases.

  • *

    The type-specific object does not contain all of the fields that you want to * populate. In this case, first use the type-specific object to populate those * fields. Use the Other object to populate the fields that are * missing from the type-specific object.

  • The resource type does * not have a corresponding object. This includes resources for which the type is * Other.

*/ inline ResourceDetails& AddOther(const char* key, const char* value) { m_otherHasBeenSet = true; m_other.emplace(key, value); return *this; } /** *

Details about an RDS event notification subscription.

*/ inline const AwsRdsEventSubscriptionDetails& GetAwsRdsEventSubscription() const{ return m_awsRdsEventSubscription; } /** *

Details about an RDS event notification subscription.

*/ inline bool AwsRdsEventSubscriptionHasBeenSet() const { return m_awsRdsEventSubscriptionHasBeenSet; } /** *

Details about an RDS event notification subscription.

*/ inline void SetAwsRdsEventSubscription(const AwsRdsEventSubscriptionDetails& value) { m_awsRdsEventSubscriptionHasBeenSet = true; m_awsRdsEventSubscription = value; } /** *

Details about an RDS event notification subscription.

*/ inline void SetAwsRdsEventSubscription(AwsRdsEventSubscriptionDetails&& value) { m_awsRdsEventSubscriptionHasBeenSet = true; m_awsRdsEventSubscription = std::move(value); } /** *

Details about an RDS event notification subscription.

*/ inline ResourceDetails& WithAwsRdsEventSubscription(const AwsRdsEventSubscriptionDetails& value) { SetAwsRdsEventSubscription(value); return *this;} /** *

Details about an RDS event notification subscription.

*/ inline ResourceDetails& WithAwsRdsEventSubscription(AwsRdsEventSubscriptionDetails&& value) { SetAwsRdsEventSubscription(std::move(value)); return *this;} /** *

Details about a service within an ECS cluster.

*/ inline const AwsEcsServiceDetails& GetAwsEcsService() const{ return m_awsEcsService; } /** *

Details about a service within an ECS cluster.

*/ inline bool AwsEcsServiceHasBeenSet() const { return m_awsEcsServiceHasBeenSet; } /** *

Details about a service within an ECS cluster.

*/ inline void SetAwsEcsService(const AwsEcsServiceDetails& value) { m_awsEcsServiceHasBeenSet = true; m_awsEcsService = value; } /** *

Details about a service within an ECS cluster.

*/ inline void SetAwsEcsService(AwsEcsServiceDetails&& value) { m_awsEcsServiceHasBeenSet = true; m_awsEcsService = std::move(value); } /** *

Details about a service within an ECS cluster.

*/ inline ResourceDetails& WithAwsEcsService(const AwsEcsServiceDetails& value) { SetAwsEcsService(value); return *this;} /** *

Details about a service within an ECS cluster.

*/ inline ResourceDetails& WithAwsEcsService(AwsEcsServiceDetails&& value) { SetAwsEcsService(std::move(value)); return *this;} /** *

Provides details about a launch configuration.

*/ inline const AwsAutoScalingLaunchConfigurationDetails& GetAwsAutoScalingLaunchConfiguration() const{ return m_awsAutoScalingLaunchConfiguration; } /** *

Provides details about a launch configuration.

*/ inline bool AwsAutoScalingLaunchConfigurationHasBeenSet() const { return m_awsAutoScalingLaunchConfigurationHasBeenSet; } /** *

Provides details about a launch configuration.

*/ inline void SetAwsAutoScalingLaunchConfiguration(const AwsAutoScalingLaunchConfigurationDetails& value) { m_awsAutoScalingLaunchConfigurationHasBeenSet = true; m_awsAutoScalingLaunchConfiguration = value; } /** *

Provides details about a launch configuration.

*/ inline void SetAwsAutoScalingLaunchConfiguration(AwsAutoScalingLaunchConfigurationDetails&& value) { m_awsAutoScalingLaunchConfigurationHasBeenSet = true; m_awsAutoScalingLaunchConfiguration = std::move(value); } /** *

Provides details about a launch configuration.

*/ inline ResourceDetails& WithAwsAutoScalingLaunchConfiguration(const AwsAutoScalingLaunchConfigurationDetails& value) { SetAwsAutoScalingLaunchConfiguration(value); return *this;} /** *

Provides details about a launch configuration.

*/ inline ResourceDetails& WithAwsAutoScalingLaunchConfiguration(AwsAutoScalingLaunchConfigurationDetails&& value) { SetAwsAutoScalingLaunchConfiguration(std::move(value)); return *this;} /** *

Details about an Amazon EC2 VPN connection.

*/ inline const AwsEc2VpnConnectionDetails& GetAwsEc2VpnConnection() const{ return m_awsEc2VpnConnection; } /** *

Details about an Amazon EC2 VPN connection.

*/ inline bool AwsEc2VpnConnectionHasBeenSet() const { return m_awsEc2VpnConnectionHasBeenSet; } /** *

Details about an Amazon EC2 VPN connection.

*/ inline void SetAwsEc2VpnConnection(const AwsEc2VpnConnectionDetails& value) { m_awsEc2VpnConnectionHasBeenSet = true; m_awsEc2VpnConnection = value; } /** *

Details about an Amazon EC2 VPN connection.

*/ inline void SetAwsEc2VpnConnection(AwsEc2VpnConnectionDetails&& value) { m_awsEc2VpnConnectionHasBeenSet = true; m_awsEc2VpnConnection = std::move(value); } /** *

Details about an Amazon EC2 VPN connection.

*/ inline ResourceDetails& WithAwsEc2VpnConnection(const AwsEc2VpnConnectionDetails& value) { SetAwsEc2VpnConnection(value); return *this;} /** *

Details about an Amazon EC2 VPN connection.

*/ inline ResourceDetails& WithAwsEc2VpnConnection(AwsEc2VpnConnectionDetails&& value) { SetAwsEc2VpnConnection(std::move(value)); return *this;} /** *

Information about an Amazon ECR image.

*/ inline const AwsEcrContainerImageDetails& GetAwsEcrContainerImage() const{ return m_awsEcrContainerImage; } /** *

Information about an Amazon ECR image.

*/ inline bool AwsEcrContainerImageHasBeenSet() const { return m_awsEcrContainerImageHasBeenSet; } /** *

Information about an Amazon ECR image.

*/ inline void SetAwsEcrContainerImage(const AwsEcrContainerImageDetails& value) { m_awsEcrContainerImageHasBeenSet = true; m_awsEcrContainerImage = value; } /** *

Information about an Amazon ECR image.

*/ inline void SetAwsEcrContainerImage(AwsEcrContainerImageDetails&& value) { m_awsEcrContainerImageHasBeenSet = true; m_awsEcrContainerImage = std::move(value); } /** *

Information about an Amazon ECR image.

*/ inline ResourceDetails& WithAwsEcrContainerImage(const AwsEcrContainerImageDetails& value) { SetAwsEcrContainerImage(value); return *this;} /** *

Information about an Amazon ECR image.

*/ inline ResourceDetails& WithAwsEcrContainerImage(AwsEcrContainerImageDetails&& value) { SetAwsEcrContainerImage(std::move(value)); return *this;} /** *

Details about an Amazon OpenSearch Service domain.

*/ inline const AwsOpenSearchServiceDomainDetails& GetAwsOpenSearchServiceDomain() const{ return m_awsOpenSearchServiceDomain; } /** *

Details about an Amazon OpenSearch Service domain.

*/ inline bool AwsOpenSearchServiceDomainHasBeenSet() const { return m_awsOpenSearchServiceDomainHasBeenSet; } /** *

Details about an Amazon OpenSearch Service domain.

*/ inline void SetAwsOpenSearchServiceDomain(const AwsOpenSearchServiceDomainDetails& value) { m_awsOpenSearchServiceDomainHasBeenSet = true; m_awsOpenSearchServiceDomain = value; } /** *

Details about an Amazon OpenSearch Service domain.

*/ inline void SetAwsOpenSearchServiceDomain(AwsOpenSearchServiceDomainDetails&& value) { m_awsOpenSearchServiceDomainHasBeenSet = true; m_awsOpenSearchServiceDomain = std::move(value); } /** *

Details about an Amazon OpenSearch Service domain.

*/ inline ResourceDetails& WithAwsOpenSearchServiceDomain(const AwsOpenSearchServiceDomainDetails& value) { SetAwsOpenSearchServiceDomain(value); return *this;} /** *

Details about an Amazon OpenSearch Service domain.

*/ inline ResourceDetails& WithAwsOpenSearchServiceDomain(AwsOpenSearchServiceDomainDetails&& value) { SetAwsOpenSearchServiceDomain(std::move(value)); return *this;} /** *

Details about the service configuration for a VPC endpoint service.

*/ inline const AwsEc2VpcEndpointServiceDetails& GetAwsEc2VpcEndpointService() const{ return m_awsEc2VpcEndpointService; } /** *

Details about the service configuration for a VPC endpoint service.

*/ inline bool AwsEc2VpcEndpointServiceHasBeenSet() const { return m_awsEc2VpcEndpointServiceHasBeenSet; } /** *

Details about the service configuration for a VPC endpoint service.

*/ inline void SetAwsEc2VpcEndpointService(const AwsEc2VpcEndpointServiceDetails& value) { m_awsEc2VpcEndpointServiceHasBeenSet = true; m_awsEc2VpcEndpointService = value; } /** *

Details about the service configuration for a VPC endpoint service.

*/ inline void SetAwsEc2VpcEndpointService(AwsEc2VpcEndpointServiceDetails&& value) { m_awsEc2VpcEndpointServiceHasBeenSet = true; m_awsEc2VpcEndpointService = std::move(value); } /** *

Details about the service configuration for a VPC endpoint service.

*/ inline ResourceDetails& WithAwsEc2VpcEndpointService(const AwsEc2VpcEndpointServiceDetails& value) { SetAwsEc2VpcEndpointService(value); return *this;} /** *

Details about the service configuration for a VPC endpoint service.

*/ inline ResourceDetails& WithAwsEc2VpcEndpointService(AwsEc2VpcEndpointServiceDetails&& value) { SetAwsEc2VpcEndpointService(std::move(value)); return *this;} /** *

Information about the encryption configuration for X-Ray.

*/ inline const AwsXrayEncryptionConfigDetails& GetAwsXrayEncryptionConfig() const{ return m_awsXrayEncryptionConfig; } /** *

Information about the encryption configuration for X-Ray.

*/ inline bool AwsXrayEncryptionConfigHasBeenSet() const { return m_awsXrayEncryptionConfigHasBeenSet; } /** *

Information about the encryption configuration for X-Ray.

*/ inline void SetAwsXrayEncryptionConfig(const AwsXrayEncryptionConfigDetails& value) { m_awsXrayEncryptionConfigHasBeenSet = true; m_awsXrayEncryptionConfig = value; } /** *

Information about the encryption configuration for X-Ray.

*/ inline void SetAwsXrayEncryptionConfig(AwsXrayEncryptionConfigDetails&& value) { m_awsXrayEncryptionConfigHasBeenSet = true; m_awsXrayEncryptionConfig = std::move(value); } /** *

Information about the encryption configuration for X-Ray.

*/ inline ResourceDetails& WithAwsXrayEncryptionConfig(const AwsXrayEncryptionConfigDetails& value) { SetAwsXrayEncryptionConfig(value); return *this;} /** *

Information about the encryption configuration for X-Ray.

*/ inline ResourceDetails& WithAwsXrayEncryptionConfig(AwsXrayEncryptionConfigDetails&& value) { SetAwsXrayEncryptionConfig(std::move(value)); return *this;} /** *

Details about a rate-based rule for global resources.

*/ inline const AwsWafRateBasedRuleDetails& GetAwsWafRateBasedRule() const{ return m_awsWafRateBasedRule; } /** *

Details about a rate-based rule for global resources.

*/ inline bool AwsWafRateBasedRuleHasBeenSet() const { return m_awsWafRateBasedRuleHasBeenSet; } /** *

Details about a rate-based rule for global resources.

*/ inline void SetAwsWafRateBasedRule(const AwsWafRateBasedRuleDetails& value) { m_awsWafRateBasedRuleHasBeenSet = true; m_awsWafRateBasedRule = value; } /** *

Details about a rate-based rule for global resources.

*/ inline void SetAwsWafRateBasedRule(AwsWafRateBasedRuleDetails&& value) { m_awsWafRateBasedRuleHasBeenSet = true; m_awsWafRateBasedRule = std::move(value); } /** *

Details about a rate-based rule for global resources.

*/ inline ResourceDetails& WithAwsWafRateBasedRule(const AwsWafRateBasedRuleDetails& value) { SetAwsWafRateBasedRule(value); return *this;} /** *

Details about a rate-based rule for global resources.

*/ inline ResourceDetails& WithAwsWafRateBasedRule(AwsWafRateBasedRuleDetails&& value) { SetAwsWafRateBasedRule(std::move(value)); return *this;} /** *

Details about a rate-based rule for Regional resources.

*/ inline const AwsWafRegionalRateBasedRuleDetails& GetAwsWafRegionalRateBasedRule() const{ return m_awsWafRegionalRateBasedRule; } /** *

Details about a rate-based rule for Regional resources.

*/ inline bool AwsWafRegionalRateBasedRuleHasBeenSet() const { return m_awsWafRegionalRateBasedRuleHasBeenSet; } /** *

Details about a rate-based rule for Regional resources.

*/ inline void SetAwsWafRegionalRateBasedRule(const AwsWafRegionalRateBasedRuleDetails& value) { m_awsWafRegionalRateBasedRuleHasBeenSet = true; m_awsWafRegionalRateBasedRule = value; } /** *

Details about a rate-based rule for Regional resources.

*/ inline void SetAwsWafRegionalRateBasedRule(AwsWafRegionalRateBasedRuleDetails&& value) { m_awsWafRegionalRateBasedRuleHasBeenSet = true; m_awsWafRegionalRateBasedRule = std::move(value); } /** *

Details about a rate-based rule for Regional resources.

*/ inline ResourceDetails& WithAwsWafRegionalRateBasedRule(const AwsWafRegionalRateBasedRuleDetails& value) { SetAwsWafRegionalRateBasedRule(value); return *this;} /** *

Details about a rate-based rule for Regional resources.

*/ inline ResourceDetails& WithAwsWafRegionalRateBasedRule(AwsWafRegionalRateBasedRuleDetails&& value) { SetAwsWafRegionalRateBasedRule(std::move(value)); return *this;} /** *

Information about an Amazon Elastic Container Registry repository.

*/ inline const AwsEcrRepositoryDetails& GetAwsEcrRepository() const{ return m_awsEcrRepository; } /** *

Information about an Amazon Elastic Container Registry repository.

*/ inline bool AwsEcrRepositoryHasBeenSet() const { return m_awsEcrRepositoryHasBeenSet; } /** *

Information about an Amazon Elastic Container Registry repository.

*/ inline void SetAwsEcrRepository(const AwsEcrRepositoryDetails& value) { m_awsEcrRepositoryHasBeenSet = true; m_awsEcrRepository = value; } /** *

Information about an Amazon Elastic Container Registry repository.

*/ inline void SetAwsEcrRepository(AwsEcrRepositoryDetails&& value) { m_awsEcrRepositoryHasBeenSet = true; m_awsEcrRepository = std::move(value); } /** *

Information about an Amazon Elastic Container Registry repository.

*/ inline ResourceDetails& WithAwsEcrRepository(const AwsEcrRepositoryDetails& value) { SetAwsEcrRepository(value); return *this;} /** *

Information about an Amazon Elastic Container Registry repository.

*/ inline ResourceDetails& WithAwsEcrRepository(AwsEcrRepositoryDetails&& value) { SetAwsEcrRepository(std::move(value)); return *this;} /** *

Details about an Amazon EKS cluster.

*/ inline const AwsEksClusterDetails& GetAwsEksCluster() const{ return m_awsEksCluster; } /** *

Details about an Amazon EKS cluster.

*/ inline bool AwsEksClusterHasBeenSet() const { return m_awsEksClusterHasBeenSet; } /** *

Details about an Amazon EKS cluster.

*/ inline void SetAwsEksCluster(const AwsEksClusterDetails& value) { m_awsEksClusterHasBeenSet = true; m_awsEksCluster = value; } /** *

Details about an Amazon EKS cluster.

*/ inline void SetAwsEksCluster(AwsEksClusterDetails&& value) { m_awsEksClusterHasBeenSet = true; m_awsEksCluster = std::move(value); } /** *

Details about an Amazon EKS cluster.

*/ inline ResourceDetails& WithAwsEksCluster(const AwsEksClusterDetails& value) { SetAwsEksCluster(value); return *this;} /** *

Details about an Amazon EKS cluster.

*/ inline ResourceDetails& WithAwsEksCluster(AwsEksClusterDetails&& value) { SetAwsEksCluster(std::move(value)); return *this;} /** *

Details about an Network Firewall firewall policy.

*/ inline const AwsNetworkFirewallFirewallPolicyDetails& GetAwsNetworkFirewallFirewallPolicy() const{ return m_awsNetworkFirewallFirewallPolicy; } /** *

Details about an Network Firewall firewall policy.

*/ inline bool AwsNetworkFirewallFirewallPolicyHasBeenSet() const { return m_awsNetworkFirewallFirewallPolicyHasBeenSet; } /** *

Details about an Network Firewall firewall policy.

*/ inline void SetAwsNetworkFirewallFirewallPolicy(const AwsNetworkFirewallFirewallPolicyDetails& value) { m_awsNetworkFirewallFirewallPolicyHasBeenSet = true; m_awsNetworkFirewallFirewallPolicy = value; } /** *

Details about an Network Firewall firewall policy.

*/ inline void SetAwsNetworkFirewallFirewallPolicy(AwsNetworkFirewallFirewallPolicyDetails&& value) { m_awsNetworkFirewallFirewallPolicyHasBeenSet = true; m_awsNetworkFirewallFirewallPolicy = std::move(value); } /** *

Details about an Network Firewall firewall policy.

*/ inline ResourceDetails& WithAwsNetworkFirewallFirewallPolicy(const AwsNetworkFirewallFirewallPolicyDetails& value) { SetAwsNetworkFirewallFirewallPolicy(value); return *this;} /** *

Details about an Network Firewall firewall policy.

*/ inline ResourceDetails& WithAwsNetworkFirewallFirewallPolicy(AwsNetworkFirewallFirewallPolicyDetails&& value) { SetAwsNetworkFirewallFirewallPolicy(std::move(value)); return *this;} /** *

Details about an Network Firewall firewall.

*/ inline const AwsNetworkFirewallFirewallDetails& GetAwsNetworkFirewallFirewall() const{ return m_awsNetworkFirewallFirewall; } /** *

Details about an Network Firewall firewall.

*/ inline bool AwsNetworkFirewallFirewallHasBeenSet() const { return m_awsNetworkFirewallFirewallHasBeenSet; } /** *

Details about an Network Firewall firewall.

*/ inline void SetAwsNetworkFirewallFirewall(const AwsNetworkFirewallFirewallDetails& value) { m_awsNetworkFirewallFirewallHasBeenSet = true; m_awsNetworkFirewallFirewall = value; } /** *

Details about an Network Firewall firewall.

*/ inline void SetAwsNetworkFirewallFirewall(AwsNetworkFirewallFirewallDetails&& value) { m_awsNetworkFirewallFirewallHasBeenSet = true; m_awsNetworkFirewallFirewall = std::move(value); } /** *

Details about an Network Firewall firewall.

*/ inline ResourceDetails& WithAwsNetworkFirewallFirewall(const AwsNetworkFirewallFirewallDetails& value) { SetAwsNetworkFirewallFirewall(value); return *this;} /** *

Details about an Network Firewall firewall.

*/ inline ResourceDetails& WithAwsNetworkFirewallFirewall(AwsNetworkFirewallFirewallDetails&& value) { SetAwsNetworkFirewallFirewall(std::move(value)); return *this;} /** *

Details about an Network Firewall rule group.

*/ inline const AwsNetworkFirewallRuleGroupDetails& GetAwsNetworkFirewallRuleGroup() const{ return m_awsNetworkFirewallRuleGroup; } /** *

Details about an Network Firewall rule group.

*/ inline bool AwsNetworkFirewallRuleGroupHasBeenSet() const { return m_awsNetworkFirewallRuleGroupHasBeenSet; } /** *

Details about an Network Firewall rule group.

*/ inline void SetAwsNetworkFirewallRuleGroup(const AwsNetworkFirewallRuleGroupDetails& value) { m_awsNetworkFirewallRuleGroupHasBeenSet = true; m_awsNetworkFirewallRuleGroup = value; } /** *

Details about an Network Firewall rule group.

*/ inline void SetAwsNetworkFirewallRuleGroup(AwsNetworkFirewallRuleGroupDetails&& value) { m_awsNetworkFirewallRuleGroupHasBeenSet = true; m_awsNetworkFirewallRuleGroup = std::move(value); } /** *

Details about an Network Firewall rule group.

*/ inline ResourceDetails& WithAwsNetworkFirewallRuleGroup(const AwsNetworkFirewallRuleGroupDetails& value) { SetAwsNetworkFirewallRuleGroup(value); return *this;} /** *

Details about an Network Firewall rule group.

*/ inline ResourceDetails& WithAwsNetworkFirewallRuleGroup(AwsNetworkFirewallRuleGroupDetails&& value) { SetAwsNetworkFirewallRuleGroup(std::move(value)); return *this;} /** *

Details about an Amazon RDS DB security group.

*/ inline const AwsRdsDbSecurityGroupDetails& GetAwsRdsDbSecurityGroup() const{ return m_awsRdsDbSecurityGroup; } /** *

Details about an Amazon RDS DB security group.

*/ inline bool AwsRdsDbSecurityGroupHasBeenSet() const { return m_awsRdsDbSecurityGroupHasBeenSet; } /** *

Details about an Amazon RDS DB security group.

*/ inline void SetAwsRdsDbSecurityGroup(const AwsRdsDbSecurityGroupDetails& value) { m_awsRdsDbSecurityGroupHasBeenSet = true; m_awsRdsDbSecurityGroup = value; } /** *

Details about an Amazon RDS DB security group.

*/ inline void SetAwsRdsDbSecurityGroup(AwsRdsDbSecurityGroupDetails&& value) { m_awsRdsDbSecurityGroupHasBeenSet = true; m_awsRdsDbSecurityGroup = std::move(value); } /** *

Details about an Amazon RDS DB security group.

*/ inline ResourceDetails& WithAwsRdsDbSecurityGroup(const AwsRdsDbSecurityGroupDetails& value) { SetAwsRdsDbSecurityGroup(value); return *this;} /** *

Details about an Amazon RDS DB security group.

*/ inline ResourceDetails& WithAwsRdsDbSecurityGroup(AwsRdsDbSecurityGroupDetails&& value) { SetAwsRdsDbSecurityGroup(std::move(value)); return *this;} /** *

Details about an Amazon Kinesis data stream.

*/ inline const AwsKinesisStreamDetails& GetAwsKinesisStream() const{ return m_awsKinesisStream; } /** *

Details about an Amazon Kinesis data stream.

*/ inline bool AwsKinesisStreamHasBeenSet() const { return m_awsKinesisStreamHasBeenSet; } /** *

Details about an Amazon Kinesis data stream.

*/ inline void SetAwsKinesisStream(const AwsKinesisStreamDetails& value) { m_awsKinesisStreamHasBeenSet = true; m_awsKinesisStream = value; } /** *

Details about an Amazon Kinesis data stream.

*/ inline void SetAwsKinesisStream(AwsKinesisStreamDetails&& value) { m_awsKinesisStreamHasBeenSet = true; m_awsKinesisStream = std::move(value); } /** *

Details about an Amazon Kinesis data stream.

*/ inline ResourceDetails& WithAwsKinesisStream(const AwsKinesisStreamDetails& value) { SetAwsKinesisStream(value); return *this;} /** *

Details about an Amazon Kinesis data stream.

*/ inline ResourceDetails& WithAwsKinesisStream(AwsKinesisStreamDetails&& value) { SetAwsKinesisStream(std::move(value)); return *this;} /** *

Details about an Amazon EC2 transit gateway that interconnects your virtual * private clouds (VPC) and on-premises networks.

*/ inline const AwsEc2TransitGatewayDetails& GetAwsEc2TransitGateway() const{ return m_awsEc2TransitGateway; } /** *

Details about an Amazon EC2 transit gateway that interconnects your virtual * private clouds (VPC) and on-premises networks.

*/ inline bool AwsEc2TransitGatewayHasBeenSet() const { return m_awsEc2TransitGatewayHasBeenSet; } /** *

Details about an Amazon EC2 transit gateway that interconnects your virtual * private clouds (VPC) and on-premises networks.

*/ inline void SetAwsEc2TransitGateway(const AwsEc2TransitGatewayDetails& value) { m_awsEc2TransitGatewayHasBeenSet = true; m_awsEc2TransitGateway = value; } /** *

Details about an Amazon EC2 transit gateway that interconnects your virtual * private clouds (VPC) and on-premises networks.

*/ inline void SetAwsEc2TransitGateway(AwsEc2TransitGatewayDetails&& value) { m_awsEc2TransitGatewayHasBeenSet = true; m_awsEc2TransitGateway = std::move(value); } /** *

Details about an Amazon EC2 transit gateway that interconnects your virtual * private clouds (VPC) and on-premises networks.

*/ inline ResourceDetails& WithAwsEc2TransitGateway(const AwsEc2TransitGatewayDetails& value) { SetAwsEc2TransitGateway(value); return *this;} /** *

Details about an Amazon EC2 transit gateway that interconnects your virtual * private clouds (VPC) and on-premises networks.

*/ inline ResourceDetails& WithAwsEc2TransitGateway(AwsEc2TransitGatewayDetails&& value) { SetAwsEc2TransitGateway(std::move(value)); return *this;} /** *

Details about an Amazon EFS access point. An access point is an * application-specific view into an EFS file system that applies an operating * system user and group, and a file system path, to any file system request made * through the access point.

*/ inline const AwsEfsAccessPointDetails& GetAwsEfsAccessPoint() const{ return m_awsEfsAccessPoint; } /** *

Details about an Amazon EFS access point. An access point is an * application-specific view into an EFS file system that applies an operating * system user and group, and a file system path, to any file system request made * through the access point.

*/ inline bool AwsEfsAccessPointHasBeenSet() const { return m_awsEfsAccessPointHasBeenSet; } /** *

Details about an Amazon EFS access point. An access point is an * application-specific view into an EFS file system that applies an operating * system user and group, and a file system path, to any file system request made * through the access point.

*/ inline void SetAwsEfsAccessPoint(const AwsEfsAccessPointDetails& value) { m_awsEfsAccessPointHasBeenSet = true; m_awsEfsAccessPoint = value; } /** *

Details about an Amazon EFS access point. An access point is an * application-specific view into an EFS file system that applies an operating * system user and group, and a file system path, to any file system request made * through the access point.

*/ inline void SetAwsEfsAccessPoint(AwsEfsAccessPointDetails&& value) { m_awsEfsAccessPointHasBeenSet = true; m_awsEfsAccessPoint = std::move(value); } /** *

Details about an Amazon EFS access point. An access point is an * application-specific view into an EFS file system that applies an operating * system user and group, and a file system path, to any file system request made * through the access point.

*/ inline ResourceDetails& WithAwsEfsAccessPoint(const AwsEfsAccessPointDetails& value) { SetAwsEfsAccessPoint(value); return *this;} /** *

Details about an Amazon EFS access point. An access point is an * application-specific view into an EFS file system that applies an operating * system user and group, and a file system path, to any file system request made * through the access point.

*/ inline ResourceDetails& WithAwsEfsAccessPoint(AwsEfsAccessPointDetails&& value) { SetAwsEfsAccessPoint(std::move(value)); return *this;} /** *

Details about an CloudFormation stack. A stack is a collection of Amazon Web * Services resources that you can manage as a single unit.

*/ inline const AwsCloudFormationStackDetails& GetAwsCloudFormationStack() const{ return m_awsCloudFormationStack; } /** *

Details about an CloudFormation stack. A stack is a collection of Amazon Web * Services resources that you can manage as a single unit.

*/ inline bool AwsCloudFormationStackHasBeenSet() const { return m_awsCloudFormationStackHasBeenSet; } /** *

Details about an CloudFormation stack. A stack is a collection of Amazon Web * Services resources that you can manage as a single unit.

*/ inline void SetAwsCloudFormationStack(const AwsCloudFormationStackDetails& value) { m_awsCloudFormationStackHasBeenSet = true; m_awsCloudFormationStack = value; } /** *

Details about an CloudFormation stack. A stack is a collection of Amazon Web * Services resources that you can manage as a single unit.

*/ inline void SetAwsCloudFormationStack(AwsCloudFormationStackDetails&& value) { m_awsCloudFormationStackHasBeenSet = true; m_awsCloudFormationStack = std::move(value); } /** *

Details about an CloudFormation stack. A stack is a collection of Amazon Web * Services resources that you can manage as a single unit.

*/ inline ResourceDetails& WithAwsCloudFormationStack(const AwsCloudFormationStackDetails& value) { SetAwsCloudFormationStack(value); return *this;} /** *

Details about an CloudFormation stack. A stack is a collection of Amazon Web * Services resources that you can manage as a single unit.

*/ inline ResourceDetails& WithAwsCloudFormationStack(AwsCloudFormationStackDetails&& value) { SetAwsCloudFormationStack(std::move(value)); return *this;} /** *

Details about an Amazon CloudWatch alarm. An alarm allows you to monitor and * receive alerts about your Amazon Web Services resources and applications across * multiple Regions.

*/ inline const AwsCloudWatchAlarmDetails& GetAwsCloudWatchAlarm() const{ return m_awsCloudWatchAlarm; } /** *

Details about an Amazon CloudWatch alarm. An alarm allows you to monitor and * receive alerts about your Amazon Web Services resources and applications across * multiple Regions.

*/ inline bool AwsCloudWatchAlarmHasBeenSet() const { return m_awsCloudWatchAlarmHasBeenSet; } /** *

Details about an Amazon CloudWatch alarm. An alarm allows you to monitor and * receive alerts about your Amazon Web Services resources and applications across * multiple Regions.

*/ inline void SetAwsCloudWatchAlarm(const AwsCloudWatchAlarmDetails& value) { m_awsCloudWatchAlarmHasBeenSet = true; m_awsCloudWatchAlarm = value; } /** *

Details about an Amazon CloudWatch alarm. An alarm allows you to monitor and * receive alerts about your Amazon Web Services resources and applications across * multiple Regions.

*/ inline void SetAwsCloudWatchAlarm(AwsCloudWatchAlarmDetails&& value) { m_awsCloudWatchAlarmHasBeenSet = true; m_awsCloudWatchAlarm = std::move(value); } /** *

Details about an Amazon CloudWatch alarm. An alarm allows you to monitor and * receive alerts about your Amazon Web Services resources and applications across * multiple Regions.

*/ inline ResourceDetails& WithAwsCloudWatchAlarm(const AwsCloudWatchAlarmDetails& value) { SetAwsCloudWatchAlarm(value); return *this;} /** *

Details about an Amazon CloudWatch alarm. An alarm allows you to monitor and * receive alerts about your Amazon Web Services resources and applications across * multiple Regions.

*/ inline ResourceDetails& WithAwsCloudWatchAlarm(AwsCloudWatchAlarmDetails&& value) { SetAwsCloudWatchAlarm(std::move(value)); return *this;} /** *

Details about an Amazon EC2 VPC peering connection. A VPC peering connection * is a networking connection between two VPCs that enables you to route traffic * between them privately.

*/ inline const AwsEc2VpcPeeringConnectionDetails& GetAwsEc2VpcPeeringConnection() const{ return m_awsEc2VpcPeeringConnection; } /** *

Details about an Amazon EC2 VPC peering connection. A VPC peering connection * is a networking connection between two VPCs that enables you to route traffic * between them privately.

*/ inline bool AwsEc2VpcPeeringConnectionHasBeenSet() const { return m_awsEc2VpcPeeringConnectionHasBeenSet; } /** *

Details about an Amazon EC2 VPC peering connection. A VPC peering connection * is a networking connection between two VPCs that enables you to route traffic * between them privately.

*/ inline void SetAwsEc2VpcPeeringConnection(const AwsEc2VpcPeeringConnectionDetails& value) { m_awsEc2VpcPeeringConnectionHasBeenSet = true; m_awsEc2VpcPeeringConnection = value; } /** *

Details about an Amazon EC2 VPC peering connection. A VPC peering connection * is a networking connection between two VPCs that enables you to route traffic * between them privately.

*/ inline void SetAwsEc2VpcPeeringConnection(AwsEc2VpcPeeringConnectionDetails&& value) { m_awsEc2VpcPeeringConnectionHasBeenSet = true; m_awsEc2VpcPeeringConnection = std::move(value); } /** *

Details about an Amazon EC2 VPC peering connection. A VPC peering connection * is a networking connection between two VPCs that enables you to route traffic * between them privately.

*/ inline ResourceDetails& WithAwsEc2VpcPeeringConnection(const AwsEc2VpcPeeringConnectionDetails& value) { SetAwsEc2VpcPeeringConnection(value); return *this;} /** *

Details about an Amazon EC2 VPC peering connection. A VPC peering connection * is a networking connection between two VPCs that enables you to route traffic * between them privately.

*/ inline ResourceDetails& WithAwsEc2VpcPeeringConnection(AwsEc2VpcPeeringConnectionDetails&& value) { SetAwsEc2VpcPeeringConnection(std::move(value)); return *this;} /** *

Details about an WAF rule group for Regional resources.

*/ inline const AwsWafRegionalRuleGroupDetails& GetAwsWafRegionalRuleGroup() const{ return m_awsWafRegionalRuleGroup; } /** *

Details about an WAF rule group for Regional resources.

*/ inline bool AwsWafRegionalRuleGroupHasBeenSet() const { return m_awsWafRegionalRuleGroupHasBeenSet; } /** *

Details about an WAF rule group for Regional resources.

*/ inline void SetAwsWafRegionalRuleGroup(const AwsWafRegionalRuleGroupDetails& value) { m_awsWafRegionalRuleGroupHasBeenSet = true; m_awsWafRegionalRuleGroup = value; } /** *

Details about an WAF rule group for Regional resources.

*/ inline void SetAwsWafRegionalRuleGroup(AwsWafRegionalRuleGroupDetails&& value) { m_awsWafRegionalRuleGroupHasBeenSet = true; m_awsWafRegionalRuleGroup = std::move(value); } /** *

Details about an WAF rule group for Regional resources.

*/ inline ResourceDetails& WithAwsWafRegionalRuleGroup(const AwsWafRegionalRuleGroupDetails& value) { SetAwsWafRegionalRuleGroup(value); return *this;} /** *

Details about an WAF rule group for Regional resources.

*/ inline ResourceDetails& WithAwsWafRegionalRuleGroup(AwsWafRegionalRuleGroupDetails&& value) { SetAwsWafRegionalRuleGroup(std::move(value)); return *this;} /** *

Details about an WAF rule for Regional resources.

*/ inline const AwsWafRegionalRuleDetails& GetAwsWafRegionalRule() const{ return m_awsWafRegionalRule; } /** *

Details about an WAF rule for Regional resources.

*/ inline bool AwsWafRegionalRuleHasBeenSet() const { return m_awsWafRegionalRuleHasBeenSet; } /** *

Details about an WAF rule for Regional resources.

*/ inline void SetAwsWafRegionalRule(const AwsWafRegionalRuleDetails& value) { m_awsWafRegionalRuleHasBeenSet = true; m_awsWafRegionalRule = value; } /** *

Details about an WAF rule for Regional resources.

*/ inline void SetAwsWafRegionalRule(AwsWafRegionalRuleDetails&& value) { m_awsWafRegionalRuleHasBeenSet = true; m_awsWafRegionalRule = std::move(value); } /** *

Details about an WAF rule for Regional resources.

*/ inline ResourceDetails& WithAwsWafRegionalRule(const AwsWafRegionalRuleDetails& value) { SetAwsWafRegionalRule(value); return *this;} /** *

Details about an WAF rule for Regional resources.

*/ inline ResourceDetails& WithAwsWafRegionalRule(AwsWafRegionalRuleDetails&& value) { SetAwsWafRegionalRule(std::move(value)); return *this;} /** *

Details about an WAF web access control list (web ACL) for Regional * resources.

*/ inline const AwsWafRegionalWebAclDetails& GetAwsWafRegionalWebAcl() const{ return m_awsWafRegionalWebAcl; } /** *

Details about an WAF web access control list (web ACL) for Regional * resources.

*/ inline bool AwsWafRegionalWebAclHasBeenSet() const { return m_awsWafRegionalWebAclHasBeenSet; } /** *

Details about an WAF web access control list (web ACL) for Regional * resources.

*/ inline void SetAwsWafRegionalWebAcl(const AwsWafRegionalWebAclDetails& value) { m_awsWafRegionalWebAclHasBeenSet = true; m_awsWafRegionalWebAcl = value; } /** *

Details about an WAF web access control list (web ACL) for Regional * resources.

*/ inline void SetAwsWafRegionalWebAcl(AwsWafRegionalWebAclDetails&& value) { m_awsWafRegionalWebAclHasBeenSet = true; m_awsWafRegionalWebAcl = std::move(value); } /** *

Details about an WAF web access control list (web ACL) for Regional * resources.

*/ inline ResourceDetails& WithAwsWafRegionalWebAcl(const AwsWafRegionalWebAclDetails& value) { SetAwsWafRegionalWebAcl(value); return *this;} /** *

Details about an WAF web access control list (web ACL) for Regional * resources.

*/ inline ResourceDetails& WithAwsWafRegionalWebAcl(AwsWafRegionalWebAclDetails&& value) { SetAwsWafRegionalWebAcl(std::move(value)); return *this;} /** *

Details about an WAF rule for global resources.

*/ inline const AwsWafRuleDetails& GetAwsWafRule() const{ return m_awsWafRule; } /** *

Details about an WAF rule for global resources.

*/ inline bool AwsWafRuleHasBeenSet() const { return m_awsWafRuleHasBeenSet; } /** *

Details about an WAF rule for global resources.

*/ inline void SetAwsWafRule(const AwsWafRuleDetails& value) { m_awsWafRuleHasBeenSet = true; m_awsWafRule = value; } /** *

Details about an WAF rule for global resources.

*/ inline void SetAwsWafRule(AwsWafRuleDetails&& value) { m_awsWafRuleHasBeenSet = true; m_awsWafRule = std::move(value); } /** *

Details about an WAF rule for global resources.

*/ inline ResourceDetails& WithAwsWafRule(const AwsWafRuleDetails& value) { SetAwsWafRule(value); return *this;} /** *

Details about an WAF rule for global resources.

*/ inline ResourceDetails& WithAwsWafRule(AwsWafRuleDetails&& value) { SetAwsWafRule(std::move(value)); return *this;} /** *

Details about an WAF rule group for global resources.

*/ inline const AwsWafRuleGroupDetails& GetAwsWafRuleGroup() const{ return m_awsWafRuleGroup; } /** *

Details about an WAF rule group for global resources.

*/ inline bool AwsWafRuleGroupHasBeenSet() const { return m_awsWafRuleGroupHasBeenSet; } /** *

Details about an WAF rule group for global resources.

*/ inline void SetAwsWafRuleGroup(const AwsWafRuleGroupDetails& value) { m_awsWafRuleGroupHasBeenSet = true; m_awsWafRuleGroup = value; } /** *

Details about an WAF rule group for global resources.

*/ inline void SetAwsWafRuleGroup(AwsWafRuleGroupDetails&& value) { m_awsWafRuleGroupHasBeenSet = true; m_awsWafRuleGroup = std::move(value); } /** *

Details about an WAF rule group for global resources.

*/ inline ResourceDetails& WithAwsWafRuleGroup(const AwsWafRuleGroupDetails& value) { SetAwsWafRuleGroup(value); return *this;} /** *

Details about an WAF rule group for global resources.

*/ inline ResourceDetails& WithAwsWafRuleGroup(AwsWafRuleGroupDetails&& value) { SetAwsWafRuleGroup(std::move(value)); return *this;} /** *

Details about a task in a cluster.

*/ inline const AwsEcsTaskDetails& GetAwsEcsTask() const{ return m_awsEcsTask; } /** *

Details about a task in a cluster.

*/ inline bool AwsEcsTaskHasBeenSet() const { return m_awsEcsTaskHasBeenSet; } /** *

Details about a task in a cluster.

*/ inline void SetAwsEcsTask(const AwsEcsTaskDetails& value) { m_awsEcsTaskHasBeenSet = true; m_awsEcsTask = value; } /** *

Details about a task in a cluster.

*/ inline void SetAwsEcsTask(AwsEcsTaskDetails&& value) { m_awsEcsTaskHasBeenSet = true; m_awsEcsTask = std::move(value); } /** *

Details about a task in a cluster.

*/ inline ResourceDetails& WithAwsEcsTask(const AwsEcsTaskDetails& value) { SetAwsEcsTask(value); return *this;} /** *

Details about a task in a cluster.

*/ inline ResourceDetails& WithAwsEcsTask(AwsEcsTaskDetails&& value) { SetAwsEcsTask(std::move(value)); return *this;} /** *

Provides details about an Backup backup vault.

*/ inline const AwsBackupBackupVaultDetails& GetAwsBackupBackupVault() const{ return m_awsBackupBackupVault; } /** *

Provides details about an Backup backup vault.

*/ inline bool AwsBackupBackupVaultHasBeenSet() const { return m_awsBackupBackupVaultHasBeenSet; } /** *

Provides details about an Backup backup vault.

*/ inline void SetAwsBackupBackupVault(const AwsBackupBackupVaultDetails& value) { m_awsBackupBackupVaultHasBeenSet = true; m_awsBackupBackupVault = value; } /** *

Provides details about an Backup backup vault.

*/ inline void SetAwsBackupBackupVault(AwsBackupBackupVaultDetails&& value) { m_awsBackupBackupVaultHasBeenSet = true; m_awsBackupBackupVault = std::move(value); } /** *

Provides details about an Backup backup vault.

*/ inline ResourceDetails& WithAwsBackupBackupVault(const AwsBackupBackupVaultDetails& value) { SetAwsBackupBackupVault(value); return *this;} /** *

Provides details about an Backup backup vault.

*/ inline ResourceDetails& WithAwsBackupBackupVault(AwsBackupBackupVaultDetails&& value) { SetAwsBackupBackupVault(std::move(value)); return *this;} /** *

Provides details about an Backup backup plan.

*/ inline const AwsBackupBackupPlanDetails& GetAwsBackupBackupPlan() const{ return m_awsBackupBackupPlan; } /** *

Provides details about an Backup backup plan.

*/ inline bool AwsBackupBackupPlanHasBeenSet() const { return m_awsBackupBackupPlanHasBeenSet; } /** *

Provides details about an Backup backup plan.

*/ inline void SetAwsBackupBackupPlan(const AwsBackupBackupPlanDetails& value) { m_awsBackupBackupPlanHasBeenSet = true; m_awsBackupBackupPlan = value; } /** *

Provides details about an Backup backup plan.

*/ inline void SetAwsBackupBackupPlan(AwsBackupBackupPlanDetails&& value) { m_awsBackupBackupPlanHasBeenSet = true; m_awsBackupBackupPlan = std::move(value); } /** *

Provides details about an Backup backup plan.

*/ inline ResourceDetails& WithAwsBackupBackupPlan(const AwsBackupBackupPlanDetails& value) { SetAwsBackupBackupPlan(value); return *this;} /** *

Provides details about an Backup backup plan.

*/ inline ResourceDetails& WithAwsBackupBackupPlan(AwsBackupBackupPlanDetails&& value) { SetAwsBackupBackupPlan(std::move(value)); return *this;} /** *

Provides details about an Backup backup, or recovery point.

*/ inline const AwsBackupRecoveryPointDetails& GetAwsBackupRecoveryPoint() const{ return m_awsBackupRecoveryPoint; } /** *

Provides details about an Backup backup, or recovery point.

*/ inline bool AwsBackupRecoveryPointHasBeenSet() const { return m_awsBackupRecoveryPointHasBeenSet; } /** *

Provides details about an Backup backup, or recovery point.

*/ inline void SetAwsBackupRecoveryPoint(const AwsBackupRecoveryPointDetails& value) { m_awsBackupRecoveryPointHasBeenSet = true; m_awsBackupRecoveryPoint = value; } /** *

Provides details about an Backup backup, or recovery point.

*/ inline void SetAwsBackupRecoveryPoint(AwsBackupRecoveryPointDetails&& value) { m_awsBackupRecoveryPointHasBeenSet = true; m_awsBackupRecoveryPoint = std::move(value); } /** *

Provides details about an Backup backup, or recovery point.

*/ inline ResourceDetails& WithAwsBackupRecoveryPoint(const AwsBackupRecoveryPointDetails& value) { SetAwsBackupRecoveryPoint(value); return *this;} /** *

Provides details about an Backup backup, or recovery point.

*/ inline ResourceDetails& WithAwsBackupRecoveryPoint(AwsBackupRecoveryPointDetails&& value) { SetAwsBackupRecoveryPoint(std::move(value)); return *this;} inline const AwsEc2LaunchTemplateDetails& GetAwsEc2LaunchTemplate() const{ return m_awsEc2LaunchTemplate; } inline bool AwsEc2LaunchTemplateHasBeenSet() const { return m_awsEc2LaunchTemplateHasBeenSet; } inline void SetAwsEc2LaunchTemplate(const AwsEc2LaunchTemplateDetails& value) { m_awsEc2LaunchTemplateHasBeenSet = true; m_awsEc2LaunchTemplate = value; } inline void SetAwsEc2LaunchTemplate(AwsEc2LaunchTemplateDetails&& value) { m_awsEc2LaunchTemplateHasBeenSet = true; m_awsEc2LaunchTemplate = std::move(value); } inline ResourceDetails& WithAwsEc2LaunchTemplate(const AwsEc2LaunchTemplateDetails& value) { SetAwsEc2LaunchTemplate(value); return *this;} inline ResourceDetails& WithAwsEc2LaunchTemplate(AwsEc2LaunchTemplateDetails&& value) { SetAwsEc2LaunchTemplate(std::move(value)); return *this;} inline const AwsSageMakerNotebookInstanceDetails& GetAwsSageMakerNotebookInstance() const{ return m_awsSageMakerNotebookInstance; } inline bool AwsSageMakerNotebookInstanceHasBeenSet() const { return m_awsSageMakerNotebookInstanceHasBeenSet; } inline void SetAwsSageMakerNotebookInstance(const AwsSageMakerNotebookInstanceDetails& value) { m_awsSageMakerNotebookInstanceHasBeenSet = true; m_awsSageMakerNotebookInstance = value; } inline void SetAwsSageMakerNotebookInstance(AwsSageMakerNotebookInstanceDetails&& value) { m_awsSageMakerNotebookInstanceHasBeenSet = true; m_awsSageMakerNotebookInstance = std::move(value); } inline ResourceDetails& WithAwsSageMakerNotebookInstance(const AwsSageMakerNotebookInstanceDetails& value) { SetAwsSageMakerNotebookInstance(value); return *this;} inline ResourceDetails& WithAwsSageMakerNotebookInstance(AwsSageMakerNotebookInstanceDetails&& value) { SetAwsSageMakerNotebookInstance(std::move(value)); return *this;} inline const AwsWafv2WebAclDetails& GetAwsWafv2WebAcl() const{ return m_awsWafv2WebAcl; } inline bool AwsWafv2WebAclHasBeenSet() const { return m_awsWafv2WebAclHasBeenSet; } inline void SetAwsWafv2WebAcl(const AwsWafv2WebAclDetails& value) { m_awsWafv2WebAclHasBeenSet = true; m_awsWafv2WebAcl = value; } inline void SetAwsWafv2WebAcl(AwsWafv2WebAclDetails&& value) { m_awsWafv2WebAclHasBeenSet = true; m_awsWafv2WebAcl = std::move(value); } inline ResourceDetails& WithAwsWafv2WebAcl(const AwsWafv2WebAclDetails& value) { SetAwsWafv2WebAcl(value); return *this;} inline ResourceDetails& WithAwsWafv2WebAcl(AwsWafv2WebAclDetails&& value) { SetAwsWafv2WebAcl(std::move(value)); return *this;} inline const AwsWafv2RuleGroupDetails& GetAwsWafv2RuleGroup() const{ return m_awsWafv2RuleGroup; } inline bool AwsWafv2RuleGroupHasBeenSet() const { return m_awsWafv2RuleGroupHasBeenSet; } inline void SetAwsWafv2RuleGroup(const AwsWafv2RuleGroupDetails& value) { m_awsWafv2RuleGroupHasBeenSet = true; m_awsWafv2RuleGroup = value; } inline void SetAwsWafv2RuleGroup(AwsWafv2RuleGroupDetails&& value) { m_awsWafv2RuleGroupHasBeenSet = true; m_awsWafv2RuleGroup = std::move(value); } inline ResourceDetails& WithAwsWafv2RuleGroup(const AwsWafv2RuleGroupDetails& value) { SetAwsWafv2RuleGroup(value); return *this;} inline ResourceDetails& WithAwsWafv2RuleGroup(AwsWafv2RuleGroupDetails&& value) { SetAwsWafv2RuleGroup(std::move(value)); return *this;} /** *

Provides details about a route table. A route table contains a set of rules, * called routes, that determine where to direct network traffic from your subnet * or gateway.

*/ inline const AwsEc2RouteTableDetails& GetAwsEc2RouteTable() const{ return m_awsEc2RouteTable; } /** *

Provides details about a route table. A route table contains a set of rules, * called routes, that determine where to direct network traffic from your subnet * or gateway.

*/ inline bool AwsEc2RouteTableHasBeenSet() const { return m_awsEc2RouteTableHasBeenSet; } /** *

Provides details about a route table. A route table contains a set of rules, * called routes, that determine where to direct network traffic from your subnet * or gateway.

*/ inline void SetAwsEc2RouteTable(const AwsEc2RouteTableDetails& value) { m_awsEc2RouteTableHasBeenSet = true; m_awsEc2RouteTable = value; } /** *

Provides details about a route table. A route table contains a set of rules, * called routes, that determine where to direct network traffic from your subnet * or gateway.

*/ inline void SetAwsEc2RouteTable(AwsEc2RouteTableDetails&& value) { m_awsEc2RouteTableHasBeenSet = true; m_awsEc2RouteTable = std::move(value); } /** *

Provides details about a route table. A route table contains a set of rules, * called routes, that determine where to direct network traffic from your subnet * or gateway.

*/ inline ResourceDetails& WithAwsEc2RouteTable(const AwsEc2RouteTableDetails& value) { SetAwsEc2RouteTable(value); return *this;} /** *

Provides details about a route table. A route table contains a set of rules, * called routes, that determine where to direct network traffic from your subnet * or gateway.

*/ inline ResourceDetails& WithAwsEc2RouteTable(AwsEc2RouteTableDetails&& value) { SetAwsEc2RouteTable(std::move(value)); return *this;} /** *

Provides details about AppSync message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

*/ inline const AwsAmazonMqBrokerDetails& GetAwsAmazonMqBroker() const{ return m_awsAmazonMqBroker; } /** *

Provides details about AppSync message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

*/ inline bool AwsAmazonMqBrokerHasBeenSet() const { return m_awsAmazonMqBrokerHasBeenSet; } /** *

Provides details about AppSync message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

*/ inline void SetAwsAmazonMqBroker(const AwsAmazonMqBrokerDetails& value) { m_awsAmazonMqBrokerHasBeenSet = true; m_awsAmazonMqBroker = value; } /** *

Provides details about AppSync message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

*/ inline void SetAwsAmazonMqBroker(AwsAmazonMqBrokerDetails&& value) { m_awsAmazonMqBrokerHasBeenSet = true; m_awsAmazonMqBroker = std::move(value); } /** *

Provides details about AppSync message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

*/ inline ResourceDetails& WithAwsAmazonMqBroker(const AwsAmazonMqBrokerDetails& value) { SetAwsAmazonMqBroker(value); return *this;} /** *

Provides details about AppSync message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

*/ inline ResourceDetails& WithAwsAmazonMqBroker(AwsAmazonMqBrokerDetails&& value) { SetAwsAmazonMqBroker(std::move(value)); return *this;} /** *

Provides details about an AppSync Graph QL API, which lets you query * multiple databases, microservices, and APIs from a single GraphQL endpoint.

*/ inline const AwsAppSyncGraphQlApiDetails& GetAwsAppSyncGraphQlApi() const{ return m_awsAppSyncGraphQlApi; } /** *

Provides details about an AppSync Graph QL API, which lets you query * multiple databases, microservices, and APIs from a single GraphQL endpoint.

*/ inline bool AwsAppSyncGraphQlApiHasBeenSet() const { return m_awsAppSyncGraphQlApiHasBeenSet; } /** *

Provides details about an AppSync Graph QL API, which lets you query * multiple databases, microservices, and APIs from a single GraphQL endpoint.

*/ inline void SetAwsAppSyncGraphQlApi(const AwsAppSyncGraphQlApiDetails& value) { m_awsAppSyncGraphQlApiHasBeenSet = true; m_awsAppSyncGraphQlApi = value; } /** *

Provides details about an AppSync Graph QL API, which lets you query * multiple databases, microservices, and APIs from a single GraphQL endpoint.

*/ inline void SetAwsAppSyncGraphQlApi(AwsAppSyncGraphQlApiDetails&& value) { m_awsAppSyncGraphQlApiHasBeenSet = true; m_awsAppSyncGraphQlApi = std::move(value); } /** *

Provides details about an AppSync Graph QL API, which lets you query * multiple databases, microservices, and APIs from a single GraphQL endpoint.

*/ inline ResourceDetails& WithAwsAppSyncGraphQlApi(const AwsAppSyncGraphQlApiDetails& value) { SetAwsAppSyncGraphQlApi(value); return *this;} /** *

Provides details about an AppSync Graph QL API, which lets you query * multiple databases, microservices, and APIs from a single GraphQL endpoint.

*/ inline ResourceDetails& WithAwsAppSyncGraphQlApi(AwsAppSyncGraphQlApiDetails&& value) { SetAwsAppSyncGraphQlApi(std::move(value)); return *this;} /** *

A schema defines the structure of events that are sent to Amazon * EventBridge. Schema registries are containers for schemas. They collect and * organize schemas so that your schemas are in logical groups.

*/ inline const AwsEventSchemasRegistryDetails& GetAwsEventSchemasRegistry() const{ return m_awsEventSchemasRegistry; } /** *

A schema defines the structure of events that are sent to Amazon * EventBridge. Schema registries are containers for schemas. They collect and * organize schemas so that your schemas are in logical groups.

*/ inline bool AwsEventSchemasRegistryHasBeenSet() const { return m_awsEventSchemasRegistryHasBeenSet; } /** *

A schema defines the structure of events that are sent to Amazon * EventBridge. Schema registries are containers for schemas. They collect and * organize schemas so that your schemas are in logical groups.

*/ inline void SetAwsEventSchemasRegistry(const AwsEventSchemasRegistryDetails& value) { m_awsEventSchemasRegistryHasBeenSet = true; m_awsEventSchemasRegistry = value; } /** *

A schema defines the structure of events that are sent to Amazon * EventBridge. Schema registries are containers for schemas. They collect and * organize schemas so that your schemas are in logical groups.

*/ inline void SetAwsEventSchemasRegistry(AwsEventSchemasRegistryDetails&& value) { m_awsEventSchemasRegistryHasBeenSet = true; m_awsEventSchemasRegistry = std::move(value); } /** *

A schema defines the structure of events that are sent to Amazon * EventBridge. Schema registries are containers for schemas. They collect and * organize schemas so that your schemas are in logical groups.

*/ inline ResourceDetails& WithAwsEventSchemasRegistry(const AwsEventSchemasRegistryDetails& value) { SetAwsEventSchemasRegistry(value); return *this;} /** *

A schema defines the structure of events that are sent to Amazon * EventBridge. Schema registries are containers for schemas. They collect and * organize schemas so that your schemas are in logical groups.

*/ inline ResourceDetails& WithAwsEventSchemasRegistry(AwsEventSchemasRegistryDetails&& value) { SetAwsEventSchemasRegistry(std::move(value)); return *this;} /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

*/ inline const AwsGuardDutyDetectorDetails& GetAwsGuardDutyDetector() const{ return m_awsGuardDutyDetector; } /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

*/ inline bool AwsGuardDutyDetectorHasBeenSet() const { return m_awsGuardDutyDetectorHasBeenSet; } /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

*/ inline void SetAwsGuardDutyDetector(const AwsGuardDutyDetectorDetails& value) { m_awsGuardDutyDetectorHasBeenSet = true; m_awsGuardDutyDetector = value; } /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

*/ inline void SetAwsGuardDutyDetector(AwsGuardDutyDetectorDetails&& value) { m_awsGuardDutyDetectorHasBeenSet = true; m_awsGuardDutyDetector = std::move(value); } /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

*/ inline ResourceDetails& WithAwsGuardDutyDetector(const AwsGuardDutyDetectorDetails& value) { SetAwsGuardDutyDetector(value); return *this;} /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

*/ inline ResourceDetails& WithAwsGuardDutyDetector(AwsGuardDutyDetectorDetails&& value) { SetAwsGuardDutyDetector(std::move(value)); return *this;} /** *

Provides details about an Step Functions state machine, which is a workflow * consisting of a series of event-driven steps.

*/ inline const AwsStepFunctionStateMachineDetails& GetAwsStepFunctionStateMachine() const{ return m_awsStepFunctionStateMachine; } /** *

Provides details about an Step Functions state machine, which is a workflow * consisting of a series of event-driven steps.

*/ inline bool AwsStepFunctionStateMachineHasBeenSet() const { return m_awsStepFunctionStateMachineHasBeenSet; } /** *

Provides details about an Step Functions state machine, which is a workflow * consisting of a series of event-driven steps.

*/ inline void SetAwsStepFunctionStateMachine(const AwsStepFunctionStateMachineDetails& value) { m_awsStepFunctionStateMachineHasBeenSet = true; m_awsStepFunctionStateMachine = value; } /** *

Provides details about an Step Functions state machine, which is a workflow * consisting of a series of event-driven steps.

*/ inline void SetAwsStepFunctionStateMachine(AwsStepFunctionStateMachineDetails&& value) { m_awsStepFunctionStateMachineHasBeenSet = true; m_awsStepFunctionStateMachine = std::move(value); } /** *

Provides details about an Step Functions state machine, which is a workflow * consisting of a series of event-driven steps.

*/ inline ResourceDetails& WithAwsStepFunctionStateMachine(const AwsStepFunctionStateMachineDetails& value) { SetAwsStepFunctionStateMachine(value); return *this;} /** *

Provides details about an Step Functions state machine, which is a workflow * consisting of a series of event-driven steps.

*/ inline ResourceDetails& WithAwsStepFunctionStateMachine(AwsStepFunctionStateMachineDetails&& value) { SetAwsStepFunctionStateMachine(std::move(value)); return *this;} /** *

Provides information about an Amazon Athena workgroup. A workgroup helps you * separate users, teams, applications, or workloads. It also helps you set limits * on data processing and track costs.

*/ inline const AwsAthenaWorkGroupDetails& GetAwsAthenaWorkGroup() const{ return m_awsAthenaWorkGroup; } /** *

Provides information about an Amazon Athena workgroup. A workgroup helps you * separate users, teams, applications, or workloads. It also helps you set limits * on data processing and track costs.

*/ inline bool AwsAthenaWorkGroupHasBeenSet() const { return m_awsAthenaWorkGroupHasBeenSet; } /** *

Provides information about an Amazon Athena workgroup. A workgroup helps you * separate users, teams, applications, or workloads. It also helps you set limits * on data processing and track costs.

*/ inline void SetAwsAthenaWorkGroup(const AwsAthenaWorkGroupDetails& value) { m_awsAthenaWorkGroupHasBeenSet = true; m_awsAthenaWorkGroup = value; } /** *

Provides information about an Amazon Athena workgroup. A workgroup helps you * separate users, teams, applications, or workloads. It also helps you set limits * on data processing and track costs.

*/ inline void SetAwsAthenaWorkGroup(AwsAthenaWorkGroupDetails&& value) { m_awsAthenaWorkGroupHasBeenSet = true; m_awsAthenaWorkGroup = std::move(value); } /** *

Provides information about an Amazon Athena workgroup. A workgroup helps you * separate users, teams, applications, or workloads. It also helps you set limits * on data processing and track costs.

*/ inline ResourceDetails& WithAwsAthenaWorkGroup(const AwsAthenaWorkGroupDetails& value) { SetAwsAthenaWorkGroup(value); return *this;} /** *

Provides information about an Amazon Athena workgroup. A workgroup helps you * separate users, teams, applications, or workloads. It also helps you set limits * on data processing and track costs.

*/ inline ResourceDetails& WithAwsAthenaWorkGroup(AwsAthenaWorkGroupDetails&& value) { SetAwsAthenaWorkGroup(std::move(value)); return *this;} private: AwsAutoScalingAutoScalingGroupDetails m_awsAutoScalingAutoScalingGroup; bool m_awsAutoScalingAutoScalingGroupHasBeenSet = false; AwsCodeBuildProjectDetails m_awsCodeBuildProject; bool m_awsCodeBuildProjectHasBeenSet = false; AwsCloudFrontDistributionDetails m_awsCloudFrontDistribution; bool m_awsCloudFrontDistributionHasBeenSet = false; AwsEc2InstanceDetails m_awsEc2Instance; bool m_awsEc2InstanceHasBeenSet = false; AwsEc2NetworkInterfaceDetails m_awsEc2NetworkInterface; bool m_awsEc2NetworkInterfaceHasBeenSet = false; AwsEc2SecurityGroupDetails m_awsEc2SecurityGroup; bool m_awsEc2SecurityGroupHasBeenSet = false; AwsEc2VolumeDetails m_awsEc2Volume; bool m_awsEc2VolumeHasBeenSet = false; AwsEc2VpcDetails m_awsEc2Vpc; bool m_awsEc2VpcHasBeenSet = false; AwsEc2EipDetails m_awsEc2Eip; bool m_awsEc2EipHasBeenSet = false; AwsEc2SubnetDetails m_awsEc2Subnet; bool m_awsEc2SubnetHasBeenSet = false; AwsEc2NetworkAclDetails m_awsEc2NetworkAcl; bool m_awsEc2NetworkAclHasBeenSet = false; AwsElbv2LoadBalancerDetails m_awsElbv2LoadBalancer; bool m_awsElbv2LoadBalancerHasBeenSet = false; AwsElasticBeanstalkEnvironmentDetails m_awsElasticBeanstalkEnvironment; bool m_awsElasticBeanstalkEnvironmentHasBeenSet = false; AwsElasticsearchDomainDetails m_awsElasticsearchDomain; bool m_awsElasticsearchDomainHasBeenSet = false; AwsS3BucketDetails m_awsS3Bucket; bool m_awsS3BucketHasBeenSet = false; AwsS3AccountPublicAccessBlockDetails m_awsS3AccountPublicAccessBlock; bool m_awsS3AccountPublicAccessBlockHasBeenSet = false; AwsS3ObjectDetails m_awsS3Object; bool m_awsS3ObjectHasBeenSet = false; AwsSecretsManagerSecretDetails m_awsSecretsManagerSecret; bool m_awsSecretsManagerSecretHasBeenSet = false; AwsIamAccessKeyDetails m_awsIamAccessKey; bool m_awsIamAccessKeyHasBeenSet = false; AwsIamUserDetails m_awsIamUser; bool m_awsIamUserHasBeenSet = false; AwsIamPolicyDetails m_awsIamPolicy; bool m_awsIamPolicyHasBeenSet = false; AwsApiGatewayV2StageDetails m_awsApiGatewayV2Stage; bool m_awsApiGatewayV2StageHasBeenSet = false; AwsApiGatewayV2ApiDetails m_awsApiGatewayV2Api; bool m_awsApiGatewayV2ApiHasBeenSet = false; AwsDynamoDbTableDetails m_awsDynamoDbTable; bool m_awsDynamoDbTableHasBeenSet = false; AwsApiGatewayStageDetails m_awsApiGatewayStage; bool m_awsApiGatewayStageHasBeenSet = false; AwsApiGatewayRestApiDetails m_awsApiGatewayRestApi; bool m_awsApiGatewayRestApiHasBeenSet = false; AwsCloudTrailTrailDetails m_awsCloudTrailTrail; bool m_awsCloudTrailTrailHasBeenSet = false; AwsSsmPatchComplianceDetails m_awsSsmPatchCompliance; bool m_awsSsmPatchComplianceHasBeenSet = false; AwsCertificateManagerCertificateDetails m_awsCertificateManagerCertificate; bool m_awsCertificateManagerCertificateHasBeenSet = false; AwsRedshiftClusterDetails m_awsRedshiftCluster; bool m_awsRedshiftClusterHasBeenSet = false; AwsElbLoadBalancerDetails m_awsElbLoadBalancer; bool m_awsElbLoadBalancerHasBeenSet = false; AwsIamGroupDetails m_awsIamGroup; bool m_awsIamGroupHasBeenSet = false; AwsIamRoleDetails m_awsIamRole; bool m_awsIamRoleHasBeenSet = false; AwsKmsKeyDetails m_awsKmsKey; bool m_awsKmsKeyHasBeenSet = false; AwsLambdaFunctionDetails m_awsLambdaFunction; bool m_awsLambdaFunctionHasBeenSet = false; AwsLambdaLayerVersionDetails m_awsLambdaLayerVersion; bool m_awsLambdaLayerVersionHasBeenSet = false; AwsRdsDbInstanceDetails m_awsRdsDbInstance; bool m_awsRdsDbInstanceHasBeenSet = false; AwsSnsTopicDetails m_awsSnsTopic; bool m_awsSnsTopicHasBeenSet = false; AwsSqsQueueDetails m_awsSqsQueue; bool m_awsSqsQueueHasBeenSet = false; AwsWafWebAclDetails m_awsWafWebAcl; bool m_awsWafWebAclHasBeenSet = false; AwsRdsDbSnapshotDetails m_awsRdsDbSnapshot; bool m_awsRdsDbSnapshotHasBeenSet = false; AwsRdsDbClusterSnapshotDetails m_awsRdsDbClusterSnapshot; bool m_awsRdsDbClusterSnapshotHasBeenSet = false; AwsRdsDbClusterDetails m_awsRdsDbCluster; bool m_awsRdsDbClusterHasBeenSet = false; AwsEcsClusterDetails m_awsEcsCluster; bool m_awsEcsClusterHasBeenSet = false; AwsEcsContainerDetails m_awsEcsContainer; bool m_awsEcsContainerHasBeenSet = false; AwsEcsTaskDefinitionDetails m_awsEcsTaskDefinition; bool m_awsEcsTaskDefinitionHasBeenSet = false; ContainerDetails m_container; bool m_containerHasBeenSet = false; Aws::Map m_other; bool m_otherHasBeenSet = false; AwsRdsEventSubscriptionDetails m_awsRdsEventSubscription; bool m_awsRdsEventSubscriptionHasBeenSet = false; AwsEcsServiceDetails m_awsEcsService; bool m_awsEcsServiceHasBeenSet = false; AwsAutoScalingLaunchConfigurationDetails m_awsAutoScalingLaunchConfiguration; bool m_awsAutoScalingLaunchConfigurationHasBeenSet = false; AwsEc2VpnConnectionDetails m_awsEc2VpnConnection; bool m_awsEc2VpnConnectionHasBeenSet = false; AwsEcrContainerImageDetails m_awsEcrContainerImage; bool m_awsEcrContainerImageHasBeenSet = false; AwsOpenSearchServiceDomainDetails m_awsOpenSearchServiceDomain; bool m_awsOpenSearchServiceDomainHasBeenSet = false; AwsEc2VpcEndpointServiceDetails m_awsEc2VpcEndpointService; bool m_awsEc2VpcEndpointServiceHasBeenSet = false; AwsXrayEncryptionConfigDetails m_awsXrayEncryptionConfig; bool m_awsXrayEncryptionConfigHasBeenSet = false; AwsWafRateBasedRuleDetails m_awsWafRateBasedRule; bool m_awsWafRateBasedRuleHasBeenSet = false; AwsWafRegionalRateBasedRuleDetails m_awsWafRegionalRateBasedRule; bool m_awsWafRegionalRateBasedRuleHasBeenSet = false; AwsEcrRepositoryDetails m_awsEcrRepository; bool m_awsEcrRepositoryHasBeenSet = false; AwsEksClusterDetails m_awsEksCluster; bool m_awsEksClusterHasBeenSet = false; AwsNetworkFirewallFirewallPolicyDetails m_awsNetworkFirewallFirewallPolicy; bool m_awsNetworkFirewallFirewallPolicyHasBeenSet = false; AwsNetworkFirewallFirewallDetails m_awsNetworkFirewallFirewall; bool m_awsNetworkFirewallFirewallHasBeenSet = false; AwsNetworkFirewallRuleGroupDetails m_awsNetworkFirewallRuleGroup; bool m_awsNetworkFirewallRuleGroupHasBeenSet = false; AwsRdsDbSecurityGroupDetails m_awsRdsDbSecurityGroup; bool m_awsRdsDbSecurityGroupHasBeenSet = false; AwsKinesisStreamDetails m_awsKinesisStream; bool m_awsKinesisStreamHasBeenSet = false; AwsEc2TransitGatewayDetails m_awsEc2TransitGateway; bool m_awsEc2TransitGatewayHasBeenSet = false; AwsEfsAccessPointDetails m_awsEfsAccessPoint; bool m_awsEfsAccessPointHasBeenSet = false; AwsCloudFormationStackDetails m_awsCloudFormationStack; bool m_awsCloudFormationStackHasBeenSet = false; AwsCloudWatchAlarmDetails m_awsCloudWatchAlarm; bool m_awsCloudWatchAlarmHasBeenSet = false; AwsEc2VpcPeeringConnectionDetails m_awsEc2VpcPeeringConnection; bool m_awsEc2VpcPeeringConnectionHasBeenSet = false; AwsWafRegionalRuleGroupDetails m_awsWafRegionalRuleGroup; bool m_awsWafRegionalRuleGroupHasBeenSet = false; AwsWafRegionalRuleDetails m_awsWafRegionalRule; bool m_awsWafRegionalRuleHasBeenSet = false; AwsWafRegionalWebAclDetails m_awsWafRegionalWebAcl; bool m_awsWafRegionalWebAclHasBeenSet = false; AwsWafRuleDetails m_awsWafRule; bool m_awsWafRuleHasBeenSet = false; AwsWafRuleGroupDetails m_awsWafRuleGroup; bool m_awsWafRuleGroupHasBeenSet = false; AwsEcsTaskDetails m_awsEcsTask; bool m_awsEcsTaskHasBeenSet = false; AwsBackupBackupVaultDetails m_awsBackupBackupVault; bool m_awsBackupBackupVaultHasBeenSet = false; AwsBackupBackupPlanDetails m_awsBackupBackupPlan; bool m_awsBackupBackupPlanHasBeenSet = false; AwsBackupRecoveryPointDetails m_awsBackupRecoveryPoint; bool m_awsBackupRecoveryPointHasBeenSet = false; AwsEc2LaunchTemplateDetails m_awsEc2LaunchTemplate; bool m_awsEc2LaunchTemplateHasBeenSet = false; AwsSageMakerNotebookInstanceDetails m_awsSageMakerNotebookInstance; bool m_awsSageMakerNotebookInstanceHasBeenSet = false; AwsWafv2WebAclDetails m_awsWafv2WebAcl; bool m_awsWafv2WebAclHasBeenSet = false; AwsWafv2RuleGroupDetails m_awsWafv2RuleGroup; bool m_awsWafv2RuleGroupHasBeenSet = false; AwsEc2RouteTableDetails m_awsEc2RouteTable; bool m_awsEc2RouteTableHasBeenSet = false; AwsAmazonMqBrokerDetails m_awsAmazonMqBroker; bool m_awsAmazonMqBrokerHasBeenSet = false; AwsAppSyncGraphQlApiDetails m_awsAppSyncGraphQlApi; bool m_awsAppSyncGraphQlApiHasBeenSet = false; AwsEventSchemasRegistryDetails m_awsEventSchemasRegistry; bool m_awsEventSchemasRegistryHasBeenSet = false; AwsGuardDutyDetectorDetails m_awsGuardDutyDetector; bool m_awsGuardDutyDetectorHasBeenSet = false; AwsStepFunctionStateMachineDetails m_awsStepFunctionStateMachine; bool m_awsStepFunctionStateMachineHasBeenSet = false; AwsAthenaWorkGroupDetails m_awsAthenaWorkGroup; bool m_awsAthenaWorkGroupHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws