from . import AWSObject, AWSProperty, Tags


class DomainValidationOption(AWSProperty):
    props = {
        'DomainName': (basestring, True),
        'ValidationDomain': (basestring, True),
    }


class Certificate(AWSObject):
    resource_type = "AWS::CertificateManager::Certificate"

    props = {
        'DomainName': (basestring, True),
        'DomainValidationOptions': ([DomainValidationOption], False),
        'SubjectAlternativeNames': ([basestring], False),
        'Tags': ((Tags, list), False),
        'ValidationMethod': (basestring, False),
    }



from . import AWSObject
from . import AWSProperty
from troposphere import Tags


class DomainValidationOption(AWSProperty):
    props = {
        'DomainName': (basestring, True),
        'HostedZoneId': (basestring, False),
        'ValidationDomain': (basestring, False),
    }


class Certificate(AWSObject):
    resource_type = "AWS::CertificateManager::Certificate"

    props = {
        'CertificateAuthorityArn': (basestring, False),
        'CertificateTransparencyLoggingPreference': (basestring, False),
        'DomainName': (basestring, True),
        'DomainValidationOptions': ([DomainValidationOption], False),
        'SubjectAlternativeNames': ([basestring], False),
        'Tags': ((Tags, list), False),
        'ValidationMethod': (basestring, False),
    }

Update AWS::CertificateManager::Certificate per 2020-06-11 changes
Update AWS::CertificateManager::Certificate per 2020-06-11 changes

- from . import AWSObject, AWSProperty, Tags
+ 
+ 
+ from . import AWSObject
+ from . import AWSProperty
+ from troposphere import Tags
  
  
  class DomainValidationOption(AWSProperty):
      props = {
          'DomainName': (basestring, True),
+         'HostedZoneId': (basestring, False),
-         'ValidationDomain': (basestring, True),
+         'ValidationDomain': (basestring, False),
      }
  
  
  class Certificate(AWSObject):
      resource_type = "AWS::CertificateManager::Certificate"
  
      props = {
+         'CertificateAuthorityArn': (basestring, False),
+         'CertificateTransparencyLoggingPreference': (basestring, False),
          'DomainName': (basestring, True),
          'DomainValidationOptions': ([DomainValidationOption], False),
          'SubjectAlternativeNames': ([basestring], False),
          'Tags': ((Tags, list), False),
          'ValidationMethod': (basestring, False),
      }
  
Update AWS::CertificateManager::Certificate per 2020-06-11 changes
## Code Before:
from . import AWSObject, AWSProperty, Tags


class DomainValidationOption(AWSProperty):
    props = {
        'DomainName': (basestring, True),
        'ValidationDomain': (basestring, True),
    }


class Certificate(AWSObject):
    resource_type = "AWS::CertificateManager::Certificate"

    props = {
        'DomainName': (basestring, True),
        'DomainValidationOptions': ([DomainValidationOption], False),
        'SubjectAlternativeNames': ([basestring], False),
        'Tags': ((Tags, list), False),
        'ValidationMethod': (basestring, False),
    }

## Instruction:
Update AWS::CertificateManager::Certificate per 2020-06-11 changes
## Code After:


from . import AWSObject
from . import AWSProperty
from troposphere import Tags


class DomainValidationOption(AWSProperty):
    props = {
        'DomainName': (basestring, True),
        'HostedZoneId': (basestring, False),
        'ValidationDomain': (basestring, False),
    }


class Certificate(AWSObject):
    resource_type = "AWS::CertificateManager::Certificate"

    props = {
        'CertificateAuthorityArn': (basestring, False),
        'CertificateTransparencyLoggingPreference': (basestring, False),
        'DomainName': (basestring, True),
        'DomainValidationOptions': ([DomainValidationOption], False),
        'SubjectAlternativeNames': ([basestring], False),
        'Tags': ((Tags, list), False),
        'ValidationMethod': (basestring, False),
    }
