# encoding: utf-8
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
module Azure::Web::Mgmt::V2020_09_01
module Models
#
# SSL certificate purchase order.
#
class AppServiceCertificateOrder < Resource
include MsRestAzure
# @return [Hash{String => AppServiceCertificate}] State of the Key Vault
# secret.
attr_accessor :certificates
# @return [String] Certificate distinguished name.
attr_accessor :distinguished_name
# @return [String] Domain verification token.
attr_accessor :domain_verification_token
# @return [Integer] Duration in years (must be between 1 and 3). Default
# value: 1 .
attr_accessor :validity_in_years
# @return [Integer] Certificate key size. Default value: 2048 .
attr_accessor :key_size
# @return [CertificateProductType] Certificate product type. Possible
# values include: 'StandardDomainValidatedSsl',
# 'StandardDomainValidatedWildCardSsl'
attr_accessor :product_type
# @return [Boolean] true
if the certificate should be
# automatically renewed when it expires; otherwise, false
.
# Default value: true .
attr_accessor :auto_renew
# @return [ProvisioningState] Status of certificate order. Possible
# values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress',
# 'Deleting'
attr_accessor :provisioning_state
# @return [CertificateOrderStatus] Current order status. Possible values
# include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied',
# 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired',
# 'NotSubmitted'
attr_accessor :status
# @return [CertificateDetails] Signed certificate.
attr_accessor :signed_certificate
# @return [String] Last CSR that was created for this order.
attr_accessor :csr
# @return [CertificateDetails] Intermediate certificate.
attr_accessor :intermediate
# @return [CertificateDetails] Root certificate.
attr_accessor :root
# @return [String] Current serial number of the certificate.
attr_accessor :serial_number
# @return [DateTime] Certificate last issuance time.
attr_accessor :last_certificate_issuance_time
# @return [DateTime] Certificate expiration time.
attr_accessor :expiration_time
# @return [Boolean] true
if private key is external;
# otherwise, false
.
attr_accessor :is_private_key_external
# @return [Array] Reasons why App Service Certificate is not
# renewable at the current moment.
attr_accessor :app_service_certificate_not_renewable_reasons
# @return [DateTime] Time stamp when the certificate would be auto
# renewed next
attr_accessor :next_auto_renewal_time_stamp
#
# Mapper for AppServiceCertificateOrder class as Ruby Hash.
# This will be used for serialization/deserialization.
#
def self.mapper()
{
client_side_validation: true,
required: false,
serialized_name: 'AppServiceCertificateOrder',
type: {
name: 'Composite',
class_name: 'AppServiceCertificateOrder',
model_properties: {
id: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'id',
type: {
name: 'String'
}
},
name: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'name',
type: {
name: 'String'
}
},
kind: {
client_side_validation: true,
required: false,
serialized_name: 'kind',
type: {
name: 'String'
}
},
location: {
client_side_validation: true,
required: true,
serialized_name: 'location',
type: {
name: 'String'
}
},
type: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'type',
type: {
name: 'String'
}
},
tags: {
client_side_validation: true,
required: false,
serialized_name: 'tags',
type: {
name: 'Dictionary',
value: {
client_side_validation: true,
required: false,
serialized_name: 'StringElementType',
type: {
name: 'String'
}
}
}
},
system_data: {
client_side_validation: true,
required: false,
serialized_name: 'systemData',
type: {
name: 'Composite',
class_name: 'SystemData'
}
},
certificates: {
client_side_validation: true,
required: false,
serialized_name: 'properties.certificates',
type: {
name: 'Dictionary',
value: {
client_side_validation: true,
required: false,
serialized_name: 'AppServiceCertificateElementType',
type: {
name: 'Composite',
class_name: 'AppServiceCertificate'
}
}
}
},
distinguished_name: {
client_side_validation: true,
required: false,
serialized_name: 'properties.distinguishedName',
type: {
name: 'String'
}
},
domain_verification_token: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.domainVerificationToken',
type: {
name: 'String'
}
},
validity_in_years: {
client_side_validation: true,
required: false,
serialized_name: 'properties.validityInYears',
default_value: 1,
constraints: {
InclusiveMaximum: 3,
InclusiveMinimum: 1
},
type: {
name: 'Number'
}
},
key_size: {
client_side_validation: true,
required: false,
serialized_name: 'properties.keySize',
default_value: 2048,
type: {
name: 'Number'
}
},
product_type: {
client_side_validation: true,
required: false,
serialized_name: 'properties.productType',
type: {
name: 'Enum',
module: 'CertificateProductType'
}
},
auto_renew: {
client_side_validation: true,
required: false,
serialized_name: 'properties.autoRenew',
default_value: true,
type: {
name: 'Boolean'
}
},
provisioning_state: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.provisioningState',
type: {
name: 'Enum',
module: 'ProvisioningState'
}
},
status: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.status',
type: {
name: 'Enum',
module: 'CertificateOrderStatus'
}
},
signed_certificate: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.signedCertificate',
type: {
name: 'Composite',
class_name: 'CertificateDetails'
}
},
csr: {
client_side_validation: true,
required: false,
serialized_name: 'properties.csr',
type: {
name: 'String'
}
},
intermediate: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.intermediate',
type: {
name: 'Composite',
class_name: 'CertificateDetails'
}
},
root: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.root',
type: {
name: 'Composite',
class_name: 'CertificateDetails'
}
},
serial_number: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.serialNumber',
type: {
name: 'String'
}
},
last_certificate_issuance_time: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.lastCertificateIssuanceTime',
type: {
name: 'DateTime'
}
},
expiration_time: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.expirationTime',
type: {
name: 'DateTime'
}
},
is_private_key_external: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.isPrivateKeyExternal',
type: {
name: 'Boolean'
}
},
app_service_certificate_not_renewable_reasons: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.appServiceCertificateNotRenewableReasons',
type: {
name: 'Sequence',
element: {
client_side_validation: true,
required: false,
serialized_name: 'enumElementType',
type: {
name: 'String'
}
}
}
},
next_auto_renewal_time_stamp: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'properties.nextAutoRenewalTimeStamp',
type: {
name: 'DateTime'
}
}
}
}
}
end
end
end
end