Skip to content

Commit 2d8e051

Browse files
releasing source processing properties to support source properties for ODB integrations
1 parent e3e2d2a commit 2d8e051

File tree

6 files changed

+66
-2
lines changed

6 files changed

+66
-2
lines changed

generator/ServiceModels/glue/glue-2017-03-31.api.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10999,7 +10999,8 @@
1099910999
"IntegrationConfig":{
1100011000
"type":"structure",
1100111001
"members":{
11002-
"RefreshInterval":{"shape":"String128"}
11002+
"RefreshInterval":{"shape":"String128"},
11003+
"SourceProperties":{"shape":"IntegrationSourcePropertiesMap"}
1100311004
}
1100411005
},
1100511006
"IntegrationConflictOperationFault":{
@@ -11068,6 +11069,11 @@
1106811069
},
1106911070
"exception":true
1107011071
},
11072+
"IntegrationSourcePropertiesMap":{
11073+
"type":"map",
11074+
"key":{"shape":"IntegrationString"},
11075+
"value":{"shape":"IntegrationString"}
11076+
},
1107111077
"IntegrationStatus":{
1107211078
"type":"string",
1107311079
"enum":[

generator/ServiceModels/glue/glue-2017-03-31.docs.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5715,6 +5715,12 @@
57155715
"base": "<p>The data processed through your integration exceeded your quota.</p>",
57165716
"refs": {}
57175717
},
5718+
"IntegrationSourcePropertiesMap": {
5719+
"base": null,
5720+
"refs": {
5721+
"IntegrationConfig$SourceProperties": "<p> A collection of key-value pairs that specify additional properties for the integration source. These properties provide configuration options that can be used to customize the behavior of the ODB source during data integration operations. </p>"
5722+
}
5723+
},
57185724
"IntegrationStatus": {
57195725
"base": null,
57205726
"refs": {
@@ -5729,7 +5735,9 @@
57295735
"base": null,
57305736
"refs": {
57315737
"IntegrationAdditionalEncryptionContextMap$key": null,
5732-
"IntegrationAdditionalEncryptionContextMap$value": null
5738+
"IntegrationAdditionalEncryptionContextMap$value": null,
5739+
"IntegrationSourcePropertiesMap$key": null,
5740+
"IntegrationSourcePropertiesMap$value": null
57335741
}
57345742
},
57355743
"IntegrationTagsList": {

generator/ServiceModels/glue/glue-2017-03-31.normal.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17221,6 +17221,10 @@
1722117221
"RefreshInterval":{
1722217222
"shape":"String128",
1722317223
"documentation":"<p>Specifies the frequency at which CDC (Change Data Capture) pulls or incremental loads should occur. This parameter provides flexibility to align the refresh rate with your specific data update patterns, system load considerations, and performance optimization goals. Time increment can be set from 15 minutes to 8640 minutes (six days). Currently supports creation of <code>RefreshInterval</code> only.</p>"
17224+
},
17225+
"SourceProperties":{
17226+
"shape":"IntegrationSourcePropertiesMap",
17227+
"documentation":"<p> A collection of key-value pairs that specify additional properties for the integration source. These properties provide configuration options that can be used to customize the behavior of the ODB source during data integration operations. </p>"
1722417228
}
1722517229
},
1722617230
"documentation":"<p>Properties associated with the integration.</p>"
@@ -17327,6 +17331,11 @@
1732717331
"documentation":"<p>The data processed through your integration exceeded your quota.</p>",
1732817332
"exception":true
1732917333
},
17334+
"IntegrationSourcePropertiesMap":{
17335+
"type":"map",
17336+
"key":{"shape":"IntegrationString"},
17337+
"value":{"shape":"IntegrationString"}
17338+
},
1733017339
"IntegrationStatus":{
1733117340
"type":"string",
1733217341
"enum":[

sdk/src/Services/Glue/Generated/Model/IntegrationConfig.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ namespace Amazon.Glue.Model
3535
public partial class IntegrationConfig
3636
{
3737
private string _refreshInterval;
38+
private Dictionary<string, string> _sourceProperties = AWSConfigs.InitializeCollections ? new Dictionary<string, string>() : null;
3839

3940
/// <summary>
4041
/// Gets and sets the property RefreshInterval.
@@ -59,5 +60,25 @@ internal bool IsSetRefreshInterval()
5960
return this._refreshInterval != null;
6061
}
6162

63+
/// <summary>
64+
/// Gets and sets the property SourceProperties.
65+
/// <para>
66+
/// A collection of key-value pairs that specify additional properties for the integration
67+
/// source. These properties provide configuration options that can be used to customize
68+
/// the behavior of the ODB source during data integration operations.
69+
/// </para>
70+
/// </summary>
71+
public Dictionary<string, string> SourceProperties
72+
{
73+
get { return this._sourceProperties; }
74+
set { this._sourceProperties = value; }
75+
}
76+
77+
// Check to see if SourceProperties property is set
78+
internal bool IsSetSourceProperties()
79+
{
80+
return this._sourceProperties != null && (this._sourceProperties.Count > 0 || !AWSConfigs.InitializeCollections);
81+
}
82+
6283
}
6384
}

sdk/src/Services/Glue/Generated/Model/Internal/MarshallTransformations/IntegrationConfigMarshaller.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,20 @@ public void Marshall(IntegrationConfig requestObject, JsonMarshallerContext cont
5454
context.Writer.Write(requestObject.RefreshInterval);
5555
}
5656

57+
if(requestObject.IsSetSourceProperties())
58+
{
59+
context.Writer.WritePropertyName("SourceProperties");
60+
context.Writer.WriteObjectStart();
61+
foreach (var requestObjectSourcePropertiesKvp in requestObject.SourceProperties)
62+
{
63+
context.Writer.WritePropertyName(requestObjectSourcePropertiesKvp.Key);
64+
var requestObjectSourcePropertiesValue = requestObjectSourcePropertiesKvp.Value;
65+
66+
context.Writer.Write(requestObjectSourcePropertiesValue);
67+
}
68+
context.Writer.WriteObjectEnd();
69+
}
70+
5771
}
5872

5973
/// <summary>

sdk/src/Services/Glue/Generated/Model/Internal/MarshallTransformations/IntegrationConfigUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ public IntegrationConfig Unmarshall(JsonUnmarshallerContext context)
7272
unmarshalledObject.RefreshInterval = unmarshaller.Unmarshall(context);
7373
continue;
7474
}
75+
if (context.TestExpression("SourceProperties", targetDepth))
76+
{
77+
var unmarshaller = new DictionaryUnmarshaller<string, string, StringUnmarshaller, StringUnmarshaller>(StringUnmarshaller.Instance, StringUnmarshaller.Instance);
78+
unmarshalledObject.SourceProperties = unmarshaller.Unmarshall(context);
79+
continue;
80+
}
7581
}
7682
return unmarshalledObject;
7783
}

0 commit comments

Comments
 (0)