Skip to content

Commit 92bc987

Browse files
author
AWS
committed
AWS OpsWorks CM Update: AWS OpsWorks for Chef Automate (OWCA) now allows customers to use a custom domain and respective certificate, for their AWS OpsWorks For Chef Automate servers. Customers can now provide a CustomDomain, CustomCertificate and CustomPrivateKey in CreateServer API to configure their Chef Automate servers with a custom domain and certificate.
1 parent f961f29 commit 92bc987

File tree

2 files changed

+77
-9
lines changed

2 files changed

+77
-9
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS OpsWorks CM",
4+
"description": "AWS OpsWorks for Chef Automate (OWCA) now allows customers to use a custom domain and respective certificate, for their AWS OpsWorks For Chef Automate servers. Customers can now provide a CustomDomain, CustomCertificate and CustomPrivateKey in CreateServer API to configure their Chef Automate servers with a custom domain and certificate."
5+
}

services/opsworkscm/src/main/resources/codegen-resources/service-2.json

Lines changed: 72 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
{"shape":"ResourceNotFoundException"},
6060
{"shape":"ValidationException"}
6161
],
62-
"documentation":"<p> Creates and immedately starts a new server. The server is ready to use when it is in the <code>HEALTHY</code> state. By default, you can create a maximum of 10 servers. </p> <p> This operation is asynchronous. </p> <p> A <code>LimitExceededException</code> is thrown when you have created the maximum number of servers (10). A <code>ResourceAlreadyExistsException</code> is thrown when a server with the same name already exists in the account. A <code>ResourceNotFoundException</code> is thrown when you specify a backup ID that is not valid or is for a backup that does not exist. A <code>ValidationException</code> is thrown when parameters of the request are not valid. </p> <p> If you do not specify a security group by adding the <code>SecurityGroupIds</code> parameter, AWS OpsWorks creates a new security group. </p> <p> <i>Chef Automate:</i> The default security group opens the Chef server to the world on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22. </p> <p> <i>Puppet Enterprise:</i> The default security group opens TCP ports 22, 443, 4433, 8140, 8142, 8143, and 8170. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22. </p> <p>By default, your server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console. </p>"
62+
"documentation":"<p> Creates and immedately starts a new server. The server is ready to use when it is in the <code>HEALTHY</code> state. By default, you can create a maximum of 10 servers. </p> <p> This operation is asynchronous. </p> <p> A <code>LimitExceededException</code> is thrown when you have created the maximum number of servers (10). A <code>ResourceAlreadyExistsException</code> is thrown when a server with the same name already exists in the account. A <code>ResourceNotFoundException</code> is thrown when you specify a backup ID that is not valid or is for a backup that does not exist. A <code>ValidationException</code> is thrown when parameters of the request are not valid. </p> <p> If you do not specify a security group by adding the <code>SecurityGroupIds</code> parameter, AWS OpsWorks creates a new security group. </p> <p> <i>Chef Automate:</i> The default security group opens the Chef server to the world on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22. </p> <p> <i>Puppet Enterprise:</i> The default security group opens TCP ports 22, 443, 4433, 8140, 8142, 8143, and 8170. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22. </p> <p>By default, your server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console. </p> <p>To specify your own domain for a server, and provide your own self-signed or CA-signed certificate and private key, specify values for <code>CustomDomain</code>, <code>CustomCertificate</code>, and <code>CustomPrivateKey</code>.</p>"
6363
},
6464
"DeleteBackup":{
6565
"name":"DeleteBackup",
@@ -312,7 +312,11 @@
312312
"min":1,
313313
"pattern":"[A-Z][A-Z0-9_]*"
314314
},
315-
"AttributeValue":{"type":"string"},
315+
"AttributeValue":{
316+
"type":"string",
317+
"max":10000,
318+
"pattern":"(?s).*"
319+
},
316320
"Backup":{
317321
"type":"structure",
318322
"members":{
@@ -419,7 +423,8 @@
419423
},
420424
"BackupId":{
421425
"type":"string",
422-
"max":79
426+
"max":79,
427+
"pattern":"[a-zA-Z][a-zA-Z0-9\\-\\.\\:]*"
423428
},
424429
"BackupRetentionCountDefinition":{
425430
"type":"integer",
@@ -482,6 +487,18 @@
482487
"shape":"Boolean",
483488
"documentation":"<p> Associate a public IP address with a server that you are launching. Valid values are <code>true</code> or <code>false</code>. The default value is <code>true</code>. </p>"
484489
},
490+
"CustomDomain":{
491+
"shape":"CustomDomain",
492+
"documentation":"<p>An optional public endpoint of a server, such as <code>https://aws.my-company.com</code>. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the generated <code>Endpoint</code> value if the server is using a custom domain. If you specify a custom domain, you must also specify values for <code>CustomCertificate</code> and <code>CustomPrivateKey</code>.</p>"
493+
},
494+
"CustomCertificate":{
495+
"shape":"CustomCertificate",
496+
"documentation":"<p>A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a custom certificate, you must also specify values for <code>CustomDomain</code> and <code>CustomPrivateKey</code>. The following are requirements for the <code>CustomCertificate</code> value:</p> <ul> <li> <p>You can provide either a self-signed, custom certificate, or the full certificate chain.</p> </li> <li> <p>The certificate must be a valid X509 certificate, or a certificate chain in PEM format.</p> </li> <li> <p>The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's <code>NotBefore</code> date), or after it expires (the certificate's <code>NotAfter</code> date).</p> </li> <li> <p>The certificate’s common name or subject alternative names (SANs), if present, must match the value of <code>CustomDomain</code>.</p> </li> <li> <p>The certificate must match the value of <code>CustomPrivateKey</code>.</p> </li> </ul>"
497+
},
498+
"CustomPrivateKey":{
499+
"shape":"CustomPrivateKey",
500+
"documentation":"<p>A private key in PEM format for connecting to the server by using HTTPS. The private key must not be encrypted; it cannot be protected by a password or passphrase. If you specify a custom private key, you must also specify values for <code>CustomDomain</code> and <code>CustomCertificate</code>.</p>"
501+
},
485502
"DisableAutomatedBackup":{
486503
"shape":"Boolean",
487504
"documentation":"<p> Enable or disable scheduled backups. Valid values are <code>true</code> or <code>false</code>. The default value is <code>true</code>. </p>"
@@ -557,6 +574,22 @@
557574
}
558575
}
559576
},
577+
"CustomCertificate":{
578+
"type":"string",
579+
"max":2097152,
580+
"pattern":"(?s)\\s*-----BEGIN CERTIFICATE-----.+-----END CERTIFICATE-----\\s*"
581+
},
582+
"CustomDomain":{
583+
"type":"string",
584+
"max":253,
585+
"pattern":"^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$"
586+
},
587+
"CustomPrivateKey":{
588+
"type":"string",
589+
"max":4096,
590+
"pattern":"(?ms)\\s*^-----BEGIN (?-s:.*)PRIVATE KEY-----$.*?^-----END (?-s:.*)PRIVATE KEY-----$\\s*",
591+
"sensitive":true
592+
},
560593
"DeleteBackupRequest":{
561594
"type":"structure",
562595
"required":["BackupId"],
@@ -770,9 +803,15 @@
770803
},
771804
"documentation":"<p>A name and value pair that is specific to the engine of the server. </p>"
772805
},
773-
"EngineAttributeName":{"type":"string"},
806+
"EngineAttributeName":{
807+
"type":"string",
808+
"max":10000,
809+
"pattern":"(?s).*"
810+
},
774811
"EngineAttributeValue":{
775812
"type":"string",
813+
"max":10000,
814+
"pattern":"(?s).*",
776815
"sensitive":true
777816
},
778817
"EngineAttributes":{
@@ -815,6 +854,7 @@
815854
},
816855
"InstanceProfileArn":{
817856
"type":"string",
857+
"max":10000,
818858
"pattern":"arn:aws:iam::[0-9]{12}:instance-profile/.*"
819859
},
820860
"Integer":{"type":"integer"},
@@ -840,7 +880,11 @@
840880
"documentation":"<p>The resource is in a state that does not allow you to perform a specified action. </p>",
841881
"exception":true
842882
},
843-
"KeyPair":{"type":"string"},
883+
"KeyPair":{
884+
"type":"string",
885+
"max":10000,
886+
"pattern":".*"
887+
},
844888
"LimitExceededException":{
845889
"type":"structure",
846890
"members":{
@@ -863,7 +907,11 @@
863907
"type":"integer",
864908
"min":1
865909
},
866-
"NextToken":{"type":"string"},
910+
"NextToken":{
911+
"type":"string",
912+
"max":10000,
913+
"pattern":"(?s).*"
914+
},
867915
"NodeAssociationStatus":{
868916
"type":"string",
869917
"documentation":"<p>The status of the association or disassociation request. </p> <p class=\"title\"> <b>Possible values:</b> </p> <ul> <li> <p> <code>SUCCESS</code>: The association or disassociation succeeded. </p> </li> <li> <p> <code>FAILED</code>: The association or disassociation failed. </p> </li> <li> <p> <code>IN_PROGRESS</code>: The association or disassociation is still in progress. </p> </li> </ul>",
@@ -873,10 +921,15 @@
873921
"IN_PROGRESS"
874922
]
875923
},
876-
"NodeAssociationStatusToken":{"type":"string"},
924+
"NodeAssociationStatusToken":{
925+
"type":"string",
926+
"max":10000,
927+
"pattern":"(?s).*"
928+
},
877929
"NodeName":{
878930
"type":"string",
879931
"documentation":"<p>The node name that is used by <code>chef-client</code> or <code>puppet-agent</code>for a new node. We recommend to use a unique FQDN as hostname. For more information, see the <a href=\"https://docs.aws.amazon.com/https:/docs.chef.io/nodes.html#about-node-names\">Chef</a> or <a href=\"https://docs.aws.amazon.com/https:/docs.puppet.com/puppet/4.10/man/agent.html\">Puppet</a> documentation. </p>",
932+
"max":10000,
880933
"pattern":"^[\\-\\p{Alnum}_:.]+$"
881934
},
882935
"ResourceAlreadyExistsException":{
@@ -954,13 +1007,17 @@
9541007
"shape":"String",
9551008
"documentation":"<p>The ARN of the CloudFormation stack that was used to create the server. </p>"
9561009
},
1010+
"CustomDomain":{
1011+
"shape":"CustomDomain",
1012+
"documentation":"<p>An optional public endpoint of a server, such as <code>https://aws.my-company.com</code>. You cannot access the server by using the <code>Endpoint</code> value if the server has a <code>CustomDomain</code> specified.</p>"
1013+
},
9571014
"DisableAutomatedBackup":{
9581015
"shape":"Boolean",
9591016
"documentation":"<p>Disables automated backups. The number of stored backups is dependent on the value of PreferredBackupCount. </p>"
9601017
},
9611018
"Endpoint":{
9621019
"shape":"String",
963-
"documentation":"<p> A DNS name that can be used to access the engine. Example: <code>myserver-asdfghjkl.us-east-1.opsworks.io</code> </p>"
1020+
"documentation":"<p> A DNS name that can be used to access the engine. Example: <code>myserver-asdfghjkl.us-east-1.opsworks.io</code>. You cannot access the server by using the <code>Endpoint</code> value if the server has a <code>CustomDomain</code> specified. </p>"
9641021
},
9651022
"Engine":{
9661023
"shape":"String",
@@ -1085,6 +1142,7 @@
10851142
},
10861143
"ServiceRoleArn":{
10871144
"type":"string",
1145+
"max":10000,
10881146
"pattern":"arn:aws:iam::[0-9]{12}:role/.*"
10891147
},
10901148
"StartMaintenanceRequest":{
@@ -1110,14 +1168,19 @@
11101168
}
11111169
}
11121170
},
1113-
"String":{"type":"string"},
1171+
"String":{
1172+
"type":"string",
1173+
"max":10000,
1174+
"pattern":"(?s).*"
1175+
},
11141176
"Strings":{
11151177
"type":"list",
11161178
"member":{"shape":"String"}
11171179
},
11181180
"TimeWindowDefinition":{
11191181
"type":"string",
11201182
"documentation":"<p> <code>DDD:HH:MM</code> (weekly start time) or <code>HH:MM</code> (daily start time). </p> <p> Time windows always use coordinated universal time (UTC). Valid strings for day of week (<code>DDD</code>) are: <code>Mon</code>, <code>Tue</code>, <code>Wed</code>, <code>Thr</code>, <code>Fri</code>, <code>Sat</code>, or <code>Sun</code>.</p>",
1183+
"max":10000,
11211184
"pattern":"^((Mon|Tue|Wed|Thu|Fri|Sat|Sun):)?([0-1][0-9]|2[0-3]):[0-5][0-9]$"
11221185
},
11231186
"Timestamp":{"type":"timestamp"},

0 commit comments

Comments
 (0)