Skip to content

Commit 9ac7f1d

Browse files
releasing source processing properties to support source properties for ODB integrations
1 parent 43e2131 commit 9ac7f1d

File tree

6 files changed

+71
-2
lines changed

6 files changed

+71
-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: 26 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,30 @@ 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+
/// <para />
71+
/// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned
72+
/// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller
73+
/// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous
74+
/// SDK behavior set the AWSConfigs.InitializeCollections static property to true.
75+
/// </summary>
76+
public Dictionary<string, string> SourceProperties
77+
{
78+
get { return this._sourceProperties; }
79+
set { this._sourceProperties = value; }
80+
}
81+
82+
// Check to see if SourceProperties property is set
83+
internal bool IsSetSourceProperties()
84+
{
85+
return this._sourceProperties != null && (this._sourceProperties.Count > 0 || !AWSConfigs.InitializeCollections);
86+
}
87+
6288
}
6389
}

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

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

55+
if(requestObject.IsSetSourceProperties())
56+
{
57+
context.Writer.WritePropertyName("SourceProperties");
58+
context.Writer.WriteStartObject();
59+
foreach (var requestObjectSourcePropertiesKvp in requestObject.SourceProperties)
60+
{
61+
context.Writer.WritePropertyName(requestObjectSourcePropertiesKvp.Key);
62+
var requestObjectSourcePropertiesValue = requestObjectSourcePropertiesKvp.Value;
63+
64+
context.Writer.WriteStringValue(requestObjectSourcePropertiesValue);
65+
}
66+
context.Writer.WriteEndObject();
67+
}
68+
5569
}
5670

5771
/// <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
@@ -62,6 +62,12 @@ public IntegrationConfig Unmarshall(JsonUnmarshallerContext context, ref Streami
6262
unmarshalledObject.RefreshInterval = unmarshaller.Unmarshall(context, ref reader);
6363
continue;
6464
}
65+
if (context.TestExpression("SourceProperties", targetDepth))
66+
{
67+
var unmarshaller = new JsonDictionaryUnmarshaller<string, string, StringUnmarshaller, StringUnmarshaller>(StringUnmarshaller.Instance, StringUnmarshaller.Instance);
68+
unmarshalledObject.SourceProperties = unmarshaller.Unmarshall(context, ref reader);
69+
continue;
70+
}
6571
}
6672
return unmarshalledObject;
6773
}

0 commit comments

Comments
 (0)