Skip to content

Commit 3c15c8d

Browse files
This release adds support for AWS Managed Microsoft AD Hybrid Edition, introducing new operations: StartADAssessment, DescribeADAssessment, ListADAssessments, DeleteADAssessment, CreateHybridAD, UpdateHybridAD, and DescribeHybridADUpdate; and updated existing operation: DescribeDirectories.
1 parent 3960e39 commit 3c15c8d

File tree

73 files changed

+11151
-21
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+11151
-21
lines changed

generator/ServiceModels/ds/ds-2015-04-16.api.json

Lines changed: 423 additions & 1 deletion
Large diffs are not rendered by default.

generator/ServiceModels/ds/ds-2015-04-16.docs.json

Lines changed: 341 additions & 3 deletions
Large diffs are not rendered by default.

generator/ServiceModels/ds/ds-2015-04-16.normal.json

Lines changed: 685 additions & 1 deletion
Large diffs are not rendered by default.

generator/ServiceModels/ds/ds-2015-04-16.paginators.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@
5151
"output_token": "NextToken",
5252
"result_key": "UpdateActivities"
5353
},
54+
"ListADAssessments": {
55+
"input_token": "NextToken",
56+
"limit_key": "Limit",
57+
"output_token": "NextToken",
58+
"result_key": "Assessments"
59+
},
5460
"ListCertificates": {
5561
"input_token": "NextToken",
5662
"limit_key": "Limit",
Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,33 @@
11
{
2-
"version": 2,
3-
"testCases": [
4-
{
5-
"id": "DescribeDirectoriesSuccess",
6-
"operationName": "DescribeDirectories",
7-
"input": {},
8-
"expectation": {
9-
"success": {}
10-
},
11-
"config": {
12-
"region": "us-west-2"
13-
}
2+
"version": 2,
3+
"testCases": [
4+
{
5+
"id": "DescribeDirectoriesSuccess",
6+
"operationName": "DescribeDirectories",
7+
"input": {},
8+
"expectation": {
9+
"success": {}
10+
},
11+
"config": {
12+
"region": "us-west-2"
13+
}
14+
},
15+
{
16+
"id": "CreateDirectoryFailure",
17+
"operationName": "CreateDirectory",
18+
"input": {
19+
"Name": "",
20+
"Password": "",
21+
"Size": ""
22+
},
23+
"expectation": {
24+
"failure": {
25+
"errorId": "ValidationException"
1426
}
15-
]
16-
}
27+
},
28+
"config": {
29+
"region": "us-west-2"
30+
}
31+
}
32+
]
33+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"version": 2,
3+
"waiters": {
4+
"HybridADUpdated": {
5+
"operation": "DescribeHybridADUpdate",
6+
"delay": 120,
7+
"maxAttempts": 60,
8+
"acceptors": [
9+
{
10+
"state": "success",
11+
"matcher": "pathAll",
12+
"argument": "UpdateActivities.SelfManagedInstances[].Status",
13+
"expected": "Updated"
14+
},
15+
{
16+
"state": "failure",
17+
"matcher": "pathAny",
18+
"argument": "UpdateActivities.SelfManagedInstances[].Status",
19+
"expected": "UpdateFailed"
20+
}
21+
]
22+
}
23+
}
24+
}

sdk/code-analysis/ServiceAnalysis/DirectoryService/Generated/PropertyValueRules.xml

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,18 @@
123123
<property>Amazon.DirectoryService.Model.CreateDirectoryResponse.DirectoryId</property>
124124
<pattern>^d-[0-9a-f]{10}$</pattern>
125125
</property-value-rule>
126+
<property-value-rule>
127+
<property>Amazon.DirectoryService.Model.CreateHybridADRequest.AssessmentId</property>
128+
<pattern>^da-[0-9a-f]{18}$</pattern>
129+
</property-value-rule>
130+
<property-value-rule>
131+
<property>Amazon.DirectoryService.Model.CreateHybridADRequest.SecretArn</property>
132+
<pattern>^arn:aws:secretsmanager:[a-z0-9-]+:\d{12}:secret:[a-zA-Z0-9/_+=.@-]+-[a-zA-Z0-9]{6}$</pattern>
133+
</property-value-rule>
134+
<property-value-rule>
135+
<property>Amazon.DirectoryService.Model.CreateHybridADResponse.DirectoryId</property>
136+
<pattern>^d-[0-9a-f]{10}$</pattern>
137+
</property-value-rule>
126138
<property-value-rule>
127139
<property>Amazon.DirectoryService.Model.CreateLogSubscriptionRequest.DirectoryId</property>
128140
<pattern>^d-[0-9a-f]{10}$</pattern>
@@ -187,6 +199,14 @@
187199
<property>Amazon.DirectoryService.Model.CreateTrustResponse.TrustId</property>
188200
<pattern>^t-[0-9a-f]{10}$</pattern>
189201
</property-value-rule>
202+
<property-value-rule>
203+
<property>Amazon.DirectoryService.Model.DeleteADAssessmentRequest.AssessmentId</property>
204+
<pattern>^da-[0-9a-f]{18}$</pattern>
205+
</property-value-rule>
206+
<property-value-rule>
207+
<property>Amazon.DirectoryService.Model.DeleteADAssessmentResponse.AssessmentId</property>
208+
<pattern>^da-[0-9a-f]{18}$</pattern>
209+
</property-value-rule>
190210
<property-value-rule>
191211
<property>Amazon.DirectoryService.Model.DeleteConditionalForwarderRequest.DirectoryId</property>
192212
<pattern>^d-[0-9a-f]{10}$</pattern>
@@ -242,6 +262,10 @@
242262
<max>256</max>
243263
<pattern>[a-zA-Z0-9_-]+</pattern>
244264
</property-value-rule>
265+
<property-value-rule>
266+
<property>Amazon.DirectoryService.Model.DescribeADAssessmentRequest.AssessmentId</property>
267+
<pattern>^da-[0-9a-f]{18}$</pattern>
268+
</property-value-rule>
245269
<property-value-rule>
246270
<property>Amazon.DirectoryService.Model.DescribeCertificateRequest.CertificateId</property>
247271
<pattern>^c-[0-9a-f]{10}$</pattern>
@@ -283,6 +307,10 @@
283307
<property>Amazon.DirectoryService.Model.DescribeEventTopicsRequest.DirectoryId</property>
284308
<pattern>^d-[0-9a-f]{10}$</pattern>
285309
</property-value-rule>
310+
<property-value-rule>
311+
<property>Amazon.DirectoryService.Model.DescribeHybridADUpdateRequest.DirectoryId</property>
312+
<pattern>^d-[0-9a-f]{10}$</pattern>
313+
</property-value-rule>
286314
<property-value-rule>
287315
<property>Amazon.DirectoryService.Model.DescribeLDAPSSettingsRequest.DirectoryId</property>
288316
<pattern>^d-[0-9a-f]{10}$</pattern>
@@ -406,6 +434,15 @@
406434
<property>Amazon.DirectoryService.Model.GetSnapshotLimitsRequest.DirectoryId</property>
407435
<pattern>^d-[0-9a-f]{10}$</pattern>
408436
</property-value-rule>
437+
<property-value-rule>
438+
<property>Amazon.DirectoryService.Model.ListADAssessmentsRequest.DirectoryId</property>
439+
<pattern>^d-[0-9a-f]{10}$</pattern>
440+
</property-value-rule>
441+
<property-value-rule>
442+
<property>Amazon.DirectoryService.Model.ListADAssessmentsRequest.Limit</property>
443+
<min>1</min>
444+
<max>100</max>
445+
</property-value-rule>
409446
<property-value-rule>
410447
<property>Amazon.DirectoryService.Model.ListCertificatesRequest.DirectoryId</property>
411448
<pattern>^d-[0-9a-f]{10}$</pattern>
@@ -521,6 +558,14 @@
521558
<property>Amazon.DirectoryService.Model.ShareDirectoryResponse.SharedDirectoryId</property>
522559
<pattern>^d-[0-9a-f]{10}$</pattern>
523560
</property-value-rule>
561+
<property-value-rule>
562+
<property>Amazon.DirectoryService.Model.StartADAssessmentRequest.DirectoryId</property>
563+
<pattern>^d-[0-9a-f]{10}$</pattern>
564+
</property-value-rule>
565+
<property-value-rule>
566+
<property>Amazon.DirectoryService.Model.StartADAssessmentResponse.AssessmentId</property>
567+
<pattern>^da-[0-9a-f]{18}$</pattern>
568+
</property-value-rule>
524569
<property-value-rule>
525570
<property>Amazon.DirectoryService.Model.StartSchemaExtensionRequest.Description</property>
526571
<min>0</min>
@@ -561,6 +606,18 @@
561606
<property>Amazon.DirectoryService.Model.UpdateDirectorySetupRequest.DirectoryId</property>
562607
<pattern>^d-[0-9a-f]{10}$</pattern>
563608
</property-value-rule>
609+
<property-value-rule>
610+
<property>Amazon.DirectoryService.Model.UpdateHybridADRequest.DirectoryId</property>
611+
<pattern>^d-[0-9a-f]{10}$</pattern>
612+
</property-value-rule>
613+
<property-value-rule>
614+
<property>Amazon.DirectoryService.Model.UpdateHybridADResponse.AssessmentId</property>
615+
<pattern>^da-[0-9a-f]{18}$</pattern>
616+
</property-value-rule>
617+
<property-value-rule>
618+
<property>Amazon.DirectoryService.Model.UpdateHybridADResponse.DirectoryId</property>
619+
<pattern>^d-[0-9a-f]{10}$</pattern>
620+
</property-value-rule>
564621
<property-value-rule>
565622
<property>Amazon.DirectoryService.Model.UpdateNumberOfDomainControllersRequest.DesiredNumber</property>
566623
<min>2</min>
@@ -605,6 +662,46 @@
605662
<property>Amazon.DirectoryService.Model.AccessDeniedException.RequestId</property>
606663
<pattern>^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$</pattern>
607664
</property-value-rule>
665+
<property-value-rule>
666+
<property>Amazon.DirectoryService.Model.ADAssessmentLimitExceededException.RequestId</property>
667+
<pattern>^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$</pattern>
668+
</property-value-rule>
669+
<property-value-rule>
670+
<property>Amazon.DirectoryService.Model.Assessment.AssessmentId</property>
671+
<pattern>^da-[0-9a-f]{18}$</pattern>
672+
</property-value-rule>
673+
<property-value-rule>
674+
<property>Amazon.DirectoryService.Model.Assessment.DirectoryId</property>
675+
<pattern>^d-[0-9a-f]{10}$</pattern>
676+
</property-value-rule>
677+
<property-value-rule>
678+
<property>Amazon.DirectoryService.Model.Assessment.DnsName</property>
679+
<pattern>^([a-zA-Z0-9]+[\\.-])+([a-zA-Z0-9])+$</pattern>
680+
</property-value-rule>
681+
<property-value-rule>
682+
<property>Amazon.DirectoryService.Model.Assessment.VpcId</property>
683+
<pattern>^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$</pattern>
684+
</property-value-rule>
685+
<property-value-rule>
686+
<property>Amazon.DirectoryService.Model.AssessmentConfiguration.DnsName</property>
687+
<pattern>^([a-zA-Z0-9]+[\\.-])+([a-zA-Z0-9])+$</pattern>
688+
</property-value-rule>
689+
<property-value-rule>
690+
<property>Amazon.DirectoryService.Model.AssessmentReport.DomainControllerIp</property>
691+
<pattern>^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$</pattern>
692+
</property-value-rule>
693+
<property-value-rule>
694+
<property>Amazon.DirectoryService.Model.AssessmentSummary.AssessmentId</property>
695+
<pattern>^da-[0-9a-f]{18}$</pattern>
696+
</property-value-rule>
697+
<property-value-rule>
698+
<property>Amazon.DirectoryService.Model.AssessmentSummary.DirectoryId</property>
699+
<pattern>^d-[0-9a-f]{10}$</pattern>
700+
</property-value-rule>
701+
<property-value-rule>
702+
<property>Amazon.DirectoryService.Model.AssessmentSummary.DnsName</property>
703+
<pattern>^([a-zA-Z0-9]+[\\.-])+([a-zA-Z0-9])+$</pattern>
704+
</property-value-rule>
608705
<property-value-rule>
609706
<property>Amazon.DirectoryService.Model.Attribute.Name</property>
610707
<min>1</min>
@@ -828,6 +925,14 @@
828925
<max>256</max>
829926
<pattern>[a-zA-Z0-9_-]+</pattern>
830927
</property-value-rule>
928+
<property-value-rule>
929+
<property>Amazon.DirectoryService.Model.HybridAdministratorAccountUpdate.SecretArn</property>
930+
<pattern>^arn:aws:secretsmanager:[a-z0-9-]+:\d{12}:secret:[a-zA-Z0-9/_+=.@-]+-[a-zA-Z0-9]{6}$</pattern>
931+
</property-value-rule>
932+
<property-value-rule>
933+
<property>Amazon.DirectoryService.Model.HybridUpdateInfoEntry.AssessmentId</property>
934+
<pattern>^da-[0-9a-f]{18}$</pattern>
935+
</property-value-rule>
831936
<property-value-rule>
832937
<property>Amazon.DirectoryService.Model.IncompatibleSettingsException.RequestId</property>
833938
<pattern>^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$</pattern>
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the ds-2015-04-16.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.DirectoryService.Model
31+
{
32+
/// <summary>
33+
/// A directory assessment is automatically created when you create a hybrid directory.
34+
/// There are two types of assessments: <c>CUSTOMER</c> and <c>SYSTEM</c>. Your Amazon
35+
/// Web Services account has a limit of 100 <c>CUSTOMER</c> directory assessments.
36+
///
37+
///
38+
/// <para>
39+
/// If you attempt to create a hybrid directory; and you already have 100 <c>CUSTOMER</c>
40+
/// directory assessments;, you will encounter an error. Delete assessments to free up
41+
/// capacity before trying again.
42+
/// </para>
43+
///
44+
/// <para>
45+
/// You can request an increase to your <c>CUSTOMER</c> directory assessment quota by
46+
/// contacting customer support or delete existing CUSTOMER directory assessments; to
47+
/// free up capacity.
48+
/// </para>
49+
/// </summary>
50+
#if !NETSTANDARD
51+
[Serializable]
52+
#endif
53+
public partial class ADAssessmentLimitExceededException : AmazonDirectoryServiceException
54+
{
55+
56+
/// <summary>
57+
/// Constructs a new ADAssessmentLimitExceededException with the specified error
58+
/// message.
59+
/// </summary>
60+
/// <param name="message">
61+
/// Describes the error encountered.
62+
/// </param>
63+
public ADAssessmentLimitExceededException(string message)
64+
: base(message) {}
65+
66+
/// <summary>
67+
/// Construct instance of ADAssessmentLimitExceededException
68+
/// </summary>
69+
/// <param name="message"></param>
70+
/// <param name="innerException"></param>
71+
public ADAssessmentLimitExceededException(string message, Exception innerException)
72+
: base(message, innerException) {}
73+
74+
/// <summary>
75+
/// Construct instance of ADAssessmentLimitExceededException
76+
/// </summary>
77+
/// <param name="innerException"></param>
78+
public ADAssessmentLimitExceededException(Exception innerException)
79+
: base(innerException) {}
80+
81+
/// <summary>
82+
/// Construct instance of ADAssessmentLimitExceededException
83+
/// </summary>
84+
/// <param name="message"></param>
85+
/// <param name="innerException"></param>
86+
/// <param name="errorType"></param>
87+
/// <param name="errorCode"></param>
88+
/// <param name="requestId"></param>
89+
/// <param name="statusCode"></param>
90+
public ADAssessmentLimitExceededException(string message, Exception innerException, Amazon.Runtime.ErrorType errorType, string errorCode, string requestId, HttpStatusCode statusCode)
91+
: base(message, innerException, errorType, errorCode, requestId, statusCode) {}
92+
93+
/// <summary>
94+
/// Construct instance of ADAssessmentLimitExceededException
95+
/// </summary>
96+
/// <param name="message"></param>
97+
/// <param name="errorType"></param>
98+
/// <param name="errorCode"></param>
99+
/// <param name="requestId"></param>
100+
/// <param name="statusCode"></param>
101+
public ADAssessmentLimitExceededException(string message, Amazon.Runtime.ErrorType errorType, string errorCode, string requestId, HttpStatusCode statusCode)
102+
: base(message, errorType, errorCode, requestId, statusCode) {}
103+
104+
105+
#if !NETSTANDARD
106+
/// <summary>
107+
/// Constructs a new instance of the ADAssessmentLimitExceededException class with serialized data.
108+
/// </summary>
109+
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
110+
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
111+
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
112+
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
113+
protected ADAssessmentLimitExceededException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
114+
: base(info, context)
115+
{
116+
this.RequestId = (string)info.GetValue("RequestId", typeof(string));
117+
}
118+
119+
/// <summary>
120+
/// Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
121+
/// </summary>
122+
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
123+
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
124+
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
125+
#if BCL35
126+
[System.Security.Permissions.SecurityPermission(
127+
System.Security.Permissions.SecurityAction.LinkDemand,
128+
Flags = System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter)]
129+
#endif
130+
[System.Security.SecurityCritical]
131+
// These FxCop rules are giving false-positives for this method
132+
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")]
133+
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2134:MethodsMustOverrideWithConsistentTransparencyFxCopRule")]
134+
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
135+
{
136+
base.GetObjectData(info, context);
137+
info.AddValue("RequestId", this.RequestId);
138+
}
139+
#endif
140+
141+
}
142+
}

0 commit comments

Comments
 (0)