Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network (CDN) distribution and a container service.
After the certificate is valid, use the AttachCertificateToDistribution action to use the certificate and its domains with your distribution. Or use the UpdateContainerService action to use the certificate and its domains with your container service.
Only certificates created in the us-east-1 Amazon Web Services Region can be attached to Lightsail distributions. Lightsail distributions are global resources that can reference an origin in any Amazon Web Services Region, and distribute its content globally. However, all distributions are located in the us-east-1 Region.
Parameters:
-
certificate_name
(CertificateName)
–
The name for the certificate.
-
domain_name
(DomainName)
–
The domain name (example.com) for the certificate.
-
subject_alternative_names
(Optional[SubjectAlternativeNameList], default:
None
)
–
An array of strings that specify the alternate domains (example2.com) and subdomains (blog.example.com) for the certificate.
You can specify a maximum of nine alternate domains (in addition to the primary domain name).
Wildcard domain entries (*.example.com) are not supported.
-
tags
(Optional[TagList], default:
None
)
–
The tag keys and optional values to add to the certificate during create.
Use the TagResource action to tag a resource after it's created.
Raises:
-
AccessDeniedException
–
Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.
-
InvalidInputException
–
Lightsail throws this exception when user input does not conform to the validation rules of an input field.
Domain and distribution APIs are only available in the N. Virginia (us-east-1) Amazon Web Services Region. Please set your Amazon Web Services Region configuration to us-east-1 to create, view, or edit these resources.
-
NotFoundException
–
Lightsail throws this exception when it cannot find a resource.
-
RegionSetupInProgressException
–
Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up.
-
ServiceException
–
A general service exception.
-
UnauthenticatedException
–
Lightsail throws this exception when the user has not been authenticated.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_lightsail/_services/lightsail.py
| def create_certificate(
self,
certificate_name: "capo_lightsail.types.certificate_name.CertificateName",
domain_name: "capo_lightsail.types.domain_name.DomainName",
*,
config_overrides: Optional[LightsailClientConfig] = None,
subject_alternative_names: Optional[
"capo_lightsail.types.subject_alternative_name_list.SubjectAlternativeNameList"
] = None,
tags: Optional["capo_lightsail.types.tag_list.TagList"] = None,
) -> "capo_lightsail.types.create_certificate_result.CreateCertificateResult":
"""<p>Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network (CDN) distribution and a container service.</p> <p>After the certificate is valid, use the <code>AttachCertificateToDistribution</code> action to use the certificate and its domains with your distribution. Or use the <code>UpdateContainerService</code> action to use the certificate and its domains with your container service.</p> <important> <p>Only certificates created in the <code>us-east-1</code> Amazon Web Services Region can be attached to Lightsail distributions. Lightsail distributions are global resources that can reference an origin in any Amazon Web Services Region, and distribute its content globally. However, all distributions are located in the <code>us-east-1</code> Region.</p> </important>
Args:
certificate_name: <p>The name for the certificate.</p>
domain_name: <p>The domain name (<code>example.com</code>) for the certificate.</p>
subject_alternative_names: <p>An array of strings that specify the alternate domains (<code>example2.com</code>) and subdomains (<code>blog.example.com</code>) for the certificate.</p> <p>You can specify a maximum of nine alternate domains (in addition to the primary domain name).</p> <p>Wildcard domain entries (<code>*.example.com</code>) are not supported.</p>
tags: <p>The tag keys and optional values to add to the certificate during create.</p> <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p>
Raises:
capo_lightsail.errors.access_denied_exception.AccessDeniedException: <p>Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.</p>
capo_lightsail.errors.invalid_input_exception.InvalidInputException: <p>Lightsail throws this exception when user input does not conform to the validation rules of an input field.</p> <note> <p>Domain and distribution APIs are only available in the N. Virginia (<code>us-east-1</code>) Amazon Web Services Region. Please set your Amazon Web Services Region configuration to <code>us-east-1</code> to create, view, or edit these resources.</p> </note>
capo_lightsail.errors.not_found_exception.NotFoundException: <p>Lightsail throws this exception when it cannot find a resource.</p>
capo_lightsail.errors.region_setup_in_progress_exception.RegionSetupInProgressException: <p>Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up.</p>
capo_lightsail.errors.service_exception.ServiceException: <p>A general service exception.</p>
capo_lightsail.errors.unauthenticated_exception.UnauthenticatedException: <p>Lightsail throws this exception when the user has not been authenticated.</p>
capo_lightsail.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_lightsail.types.create_certificate_request.CreateCertificateRequest]",
) -> OperationResponse[
"capo_lightsail.types.create_certificate_result.CreateCertificateResult"
]:
import capo_lightsail._operations.lightsail_20161128.create_certificate
output, http_response = (
capo_lightsail._operations.lightsail_20161128.create_certificate.create_certificate(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateCertificate")
)
input_: capo_lightsail.types.create_certificate_request.CreateCertificateRequest = {
"certificate_name": certificate_name,
"domain_name": domain_name,
}
if subject_alternative_names is not None:
input_["subject_alternative_names"] = subject_alternative_names
if tags is not None:
input_["tags"] = tags
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|