Skip to content

Commit 7171ee8

Browse files
Adds support for the new Project.AwsPartition field on Opportunity and AWS Opportunity Summary. Use this field to specify the AWS partition where the opportunity will be deployed.
1 parent 079f648 commit 7171ee8

File tree

9 files changed

+131
-2
lines changed

9 files changed

+131
-2
lines changed

generator/ServiceModels/partnercentral-selling/partnercentral-selling-2022-07-26.api.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,7 +1080,8 @@
10801080
"AwsOpportunityProject":{
10811081
"type":"structure",
10821082
"members":{
1083-
"ExpectedCustomerSpend":{"shape":"ExpectedCustomerSpendList"}
1083+
"ExpectedCustomerSpend":{"shape":"ExpectedCustomerSpendList"},
1084+
"AwsPartition":{"shape":"AwsPartition"}
10841085
}
10851086
},
10861087
"AwsOpportunityRelatedEntities":{
@@ -1123,6 +1124,10 @@
11231124
"type":"list",
11241125
"member":{"shape":"AwsTeamMember"}
11251126
},
1127+
"AwsPartition":{
1128+
"type":"string",
1129+
"enum":["aws-eusc"]
1130+
},
11261131
"AwsProductDetails":{
11271132
"type":"structure",
11281133
"required":[
@@ -3867,7 +3872,8 @@
38673872
"CompetitorName":{"shape":"CompetitorName"},
38683873
"OtherCompetitorNames":{"shape":"ProjectOtherCompetitorNamesString"},
38693874
"OtherSolutionDescription":{"shape":"ProjectOtherSolutionDescriptionString"},
3870-
"AdditionalComments":{"shape":"ProjectAdditionalCommentsString"}
3875+
"AdditionalComments":{"shape":"ProjectAdditionalCommentsString"},
3876+
"AwsPartition":{"shape":"AwsPartition"}
38713877
}
38723878
},
38733879
"ProjectAdditionalCommentsString":{

generator/ServiceModels/partnercentral-selling/partnercentral-selling-2022-07-26.docs.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,13 @@
345345
"GetAwsOpportunitySummaryResponse$OpportunityTeam": "<p>Details the AWS opportunity team, including members involved. This information helps partners know who from AWS is engaged and what their role is.</p>"
346346
}
347347
},
348+
"AwsPartition": {
349+
"base": null,
350+
"refs": {
351+
"AwsOpportunityProject$AwsPartition": "<p>AWS partition where the opportunity will be deployed. Possible values: 'aws-eusc' for AWS European Sovereign Cloud, <code>null</code> for all other partitions</p>",
352+
"Project$AwsPartition": "<p>AWS partition where the opportunity will be deployed. Possible values: 'aws-eusc' for AWS European Sovereign Cloud, <code>null</code> for all other partitions</p>"
353+
}
354+
},
348355
"AwsProductDetails": {
349356
"base": "<p>AWS services with program eligibility indicators (MAP, modernization pathways), cost estimates, and optimization recommendations.</p>",
350357
"refs": {

generator/ServiceModels/partnercentral-selling/partnercentral-selling-2022-07-26.normal.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,6 +1274,10 @@
12741274
"ExpectedCustomerSpend":{
12751275
"shape":"ExpectedCustomerSpendList",
12761276
"documentation":"<p>Indicates the expected spending by the customer over the course of the project. This value helps partners and AWS estimate the financial impact of the opportunity. Use the <a href=\"https://calculator.aws/#/\">AWS Pricing Calculator</a> to create an estimate of the customer’s total spend. If only annual recurring revenue (ARR) is available, distribute it across 12 months to provide an average monthly value.</p>"
1277+
},
1278+
"AwsPartition":{
1279+
"shape":"AwsPartition",
1280+
"documentation":"<p>AWS partition where the opportunity will be deployed. Possible values: 'aws-eusc' for AWS European Sovereign Cloud, <code>null</code> for all other partitions</p>"
12771281
}
12781282
},
12791283
"documentation":"<p>Captures details about the project associated with the opportunity, including objectives, scope, and customer requirements.</p>"
@@ -1325,6 +1329,10 @@
13251329
"type":"list",
13261330
"member":{"shape":"AwsTeamMember"}
13271331
},
1332+
"AwsPartition":{
1333+
"type":"string",
1334+
"enum":["aws-eusc"]
1335+
},
13281336
"AwsProductDetails":{
13291337
"type":"structure",
13301338
"required":[
@@ -5554,6 +5562,10 @@
55545562
"AdditionalComments":{
55555563
"shape":"ProjectAdditionalCommentsString",
55565564
"documentation":"<p>Captures additional comments or information for the <code>Opportunity</code> that weren't captured in other fields.</p>"
5565+
},
5566+
"AwsPartition":{
5567+
"shape":"AwsPartition",
5568+
"documentation":"<p>AWS partition where the opportunity will be deployed. Possible values: 'aws-eusc' for AWS European Sovereign Cloud, <code>null</code> for all other partitions</p>"
55575569
}
55585570
},
55595571
"documentation":"<p>An object that contains the <code>Opportunity</code>'s project details.</p>"

sdk/src/Services/PartnerCentralSelling/Generated/Model/AwsOpportunityProject.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,28 @@ namespace Amazon.PartnerCentralSelling.Model
3535
/// </summary>
3636
public partial class AwsOpportunityProject
3737
{
38+
private AwsPartition _awsPartition;
3839
private List<ExpectedCustomerSpend> _expectedCustomerSpend = AWSConfigs.InitializeCollections ? new List<ExpectedCustomerSpend>() : null;
3940

41+
/// <summary>
42+
/// Gets and sets the property AwsPartition.
43+
/// <para>
44+
/// AWS partition where the opportunity will be deployed. Possible values: 'aws-eusc'
45+
/// for AWS European Sovereign Cloud, <c>null</c> for all other partitions
46+
/// </para>
47+
/// </summary>
48+
public AwsPartition AwsPartition
49+
{
50+
get { return this._awsPartition; }
51+
set { this._awsPartition = value; }
52+
}
53+
54+
// Check to see if AwsPartition property is set
55+
internal bool IsSetAwsPartition()
56+
{
57+
return this._awsPartition != null;
58+
}
59+
4060
/// <summary>
4161
/// Gets and sets the property ExpectedCustomerSpend.
4262
/// <para>

sdk/src/Services/PartnerCentralSelling/Generated/Model/Internal/MarshallTransformations/AwsOpportunityProjectUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ public AwsOpportunityProject Unmarshall(JsonUnmarshallerContext context, ref Str
5656
int targetDepth = context.CurrentDepth;
5757
while (context.ReadAtDepth(targetDepth, ref reader))
5858
{
59+
if (context.TestExpression("AwsPartition", targetDepth))
60+
{
61+
var unmarshaller = StringUnmarshaller.Instance;
62+
unmarshalledObject.AwsPartition = unmarshaller.Unmarshall(context, ref reader);
63+
continue;
64+
}
5965
if (context.TestExpression("ExpectedCustomerSpend", targetDepth))
6066
{
6167
var unmarshaller = new JsonListUnmarshaller<ExpectedCustomerSpend, ExpectedCustomerSpendUnmarshaller>(ExpectedCustomerSpendUnmarshaller.Instance);

sdk/src/Services/PartnerCentralSelling/Generated/Model/Internal/MarshallTransformations/ProjectMarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ public void Marshall(Project requestObject, JsonMarshallerContext context)
6363
context.Writer.WriteEndArray();
6464
}
6565

66+
if(requestObject.IsSetAwsPartition())
67+
{
68+
context.Writer.WritePropertyName("AwsPartition");
69+
context.Writer.WriteStringValue(requestObject.AwsPartition);
70+
}
71+
6672
if(requestObject.IsSetCompetitorName())
6773
{
6874
context.Writer.WritePropertyName("CompetitorName");

sdk/src/Services/PartnerCentralSelling/Generated/Model/Internal/MarshallTransformations/ProjectUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@ public Project Unmarshall(JsonUnmarshallerContext context, ref StreamingUtf8Json
6868
unmarshalledObject.ApnPrograms = unmarshaller.Unmarshall(context, ref reader);
6969
continue;
7070
}
71+
if (context.TestExpression("AwsPartition", targetDepth))
72+
{
73+
var unmarshaller = StringUnmarshaller.Instance;
74+
unmarshalledObject.AwsPartition = unmarshaller.Unmarshall(context, ref reader);
75+
continue;
76+
}
7177
if (context.TestExpression("CompetitorName", targetDepth))
7278
{
7379
var unmarshaller = StringUnmarshaller.Instance;

sdk/src/Services/PartnerCentralSelling/Generated/Model/Project.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public partial class Project
3636
{
3737
private string _additionalComments;
3838
private List<string> _apnPrograms = AWSConfigs.InitializeCollections ? new List<string>() : null;
39+
private AwsPartition _awsPartition;
3940
private CompetitorName _competitorName;
4041
private string _customerBusinessProblem;
4142
private string _customerUseCase;
@@ -99,6 +100,25 @@ internal bool IsSetApnPrograms()
99100
return this._apnPrograms != null && (this._apnPrograms.Count > 0 || !AWSConfigs.InitializeCollections);
100101
}
101102

103+
/// <summary>
104+
/// Gets and sets the property AwsPartition.
105+
/// <para>
106+
/// AWS partition where the opportunity will be deployed. Possible values: 'aws-eusc'
107+
/// for AWS European Sovereign Cloud, <c>null</c> for all other partitions
108+
/// </para>
109+
/// </summary>
110+
public AwsPartition AwsPartition
111+
{
112+
get { return this._awsPartition; }
113+
set { this._awsPartition = value; }
114+
}
115+
116+
// Check to see if AwsPartition property is set
117+
internal bool IsSetAwsPartition()
118+
{
119+
return this._awsPartition != null;
120+
}
121+
102122
/// <summary>
103123
/// Gets and sets the property CompetitorName.
104124
/// <para>

sdk/src/Services/PartnerCentralSelling/Generated/ServiceEnumerations.cs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,52 @@ public static implicit operator AwsOpportunityStage(string value)
558558
}
559559

560560

561+
/// <summary>
562+
/// Constants used for properties of type AwsPartition.
563+
/// </summary>
564+
public class AwsPartition : ConstantClass
565+
{
566+
567+
/// <summary>
568+
/// Constant AwsEusc for AwsPartition
569+
/// </summary>
570+
public static readonly AwsPartition AwsEusc = new AwsPartition("aws-eusc");
571+
572+
/// <summary>
573+
/// This constant constructor does not need to be called if the constant
574+
/// you are attempting to use is already defined as a static instance of
575+
/// this class.
576+
/// This constructor should be used to construct constants that are not
577+
/// defined as statics, for instance if attempting to use a feature that is
578+
/// newer than the current version of the SDK.
579+
/// </summary>
580+
public AwsPartition(string value)
581+
: base(value)
582+
{
583+
}
584+
585+
/// <summary>
586+
/// Finds the constant for the unique value.
587+
/// </summary>
588+
/// <param name="value">The unique value for the constant</param>
589+
/// <returns>The constant for the unique value</returns>
590+
public static AwsPartition FindValue(string value)
591+
{
592+
return FindValue<AwsPartition>(value);
593+
}
594+
595+
/// <summary>
596+
/// Utility method to convert strings to the constant class.
597+
/// </summary>
598+
/// <param name="value">The string value to convert to the constant class.</param>
599+
/// <returns></returns>
600+
public static implicit operator AwsPartition(string value)
601+
{
602+
return FindValue(value);
603+
}
604+
}
605+
606+
561607
/// <summary>
562608
/// Constants used for properties of type AwsProductInsightsCurrencyCodeEnum.
563609
/// </summary>

0 commit comments

Comments
 (0)