Skip to content

Commit e7c11ff

Browse files
This release adds support for specifying a preferred input for channels using CMAF ingest.
1 parent cc33737 commit e7c11ff

17 files changed

+103
-52
lines changed

generator/ServiceModels/mediapackagev2/mediapackagev2-2022-12-25.api.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2019,9 +2019,16 @@
20192019
"InputSwitchConfiguration":{
20202020
"type":"structure",
20212021
"members":{
2022-
"MQCSInputSwitching":{"shape":"Boolean"}
2022+
"MQCSInputSwitching":{"shape":"Boolean"},
2023+
"PreferredInput":{"shape":"InputSwitchConfigurationPreferredInputInteger"}
20232024
}
20242025
},
2026+
"InputSwitchConfigurationPreferredInputInteger":{
2027+
"type":"integer",
2028+
"box":true,
2029+
"max":2,
2030+
"min":1
2031+
},
20252032
"InputType":{
20262033
"type":"string",
20272034
"enum":[
@@ -2976,6 +2983,7 @@
29762983
"CMAF_EXCLUDE_SEGMENT_DRM_METADATA_INCOMPATIBLE_CONTAINER_TYPE",
29772984
"ONLY_CMAF_INPUT_TYPE_ALLOW_MQCS_INPUT_SWITCHING",
29782985
"ONLY_CMAF_INPUT_TYPE_ALLOW_MQCS_OUTPUT_CONFIGURATION",
2986+
"ONLY_CMAF_INPUT_TYPE_ALLOW_PREFERRED_INPUT_CONFIGURATION",
29792987
"TS_CONTAINER_TYPE_WITH_MSS_MANIFEST",
29802988
"CMAF_CONTAINER_TYPE_WITH_MSS_MANIFEST",
29812989
"ISM_CONTAINER_TYPE_WITH_HLS_MANIFEST",

generator/ServiceModels/mediapackagev2/mediapackagev2-2022-12-25.docs.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
"DeleteChannelPolicy": "<p>Delete a channel policy.</p>",
1313
"DeleteOriginEndpoint": "<p>Origin endpoints can serve content until they're deleted. Delete the endpoint if it should no longer respond to playback requests. You must delete all endpoints from a channel before you can delete the channel.</p>",
1414
"DeleteOriginEndpointPolicy": "<p>Delete an origin endpoint policy.</p>",
15-
"GetChannel": "<p>Retrieves the specified channel that's configured in AWS Elemental MediaPackage, including the origin endpoints that are associated with it.</p>",
16-
"GetChannelGroup": "<p>Retrieves the specified channel group that's configured in AWS Elemental MediaPackage, including the channels and origin endpoints that are associated with it.</p>",
15+
"GetChannel": "<p>Retrieves the specified channel that's configured in AWS Elemental MediaPackage.</p>",
16+
"GetChannelGroup": "<p>Retrieves the specified channel group that's configured in AWS Elemental MediaPackage.</p>",
1717
"GetChannelPolicy": "<p>Retrieves the specified channel policy that's configured in AWS Elemental MediaPackage. With policies, you can specify who has access to AWS resources and what actions they can perform on those resources.</p>",
1818
"GetHarvestJob": "<p>Retrieves the details of a specific harvest job.</p>",
1919
"GetOriginEndpoint": "<p>Retrieves the specified origin endpoint that's configured in AWS Elemental MediaPackage to obtain its playback URL and to view the packaging settings that it's currently using.</p>",
2020
"GetOriginEndpointPolicy": "<p>Retrieves the specified origin endpoint policy that's configured in AWS Elemental MediaPackage.</p>",
2121
"ListChannelGroups": "<p>Retrieves all channel groups that are configured in Elemental MediaPackage.</p>",
22-
"ListChannels": "<p>Retrieves all channels in a specific channel group that are configured in AWS Elemental MediaPackage, including the origin endpoints that are associated with it.</p>",
22+
"ListChannels": "<p>Retrieves all channels in a specific channel group that are configured in AWS Elemental MediaPackage.</p>",
2323
"ListHarvestJobs": "<p>Retrieves a list of harvest jobs that match the specified criteria.</p>",
2424
"ListOriginEndpoints": "<p>Retrieves all origin endpoints in a specific channel that are configured in AWS Elemental MediaPackage.</p>",
2525
"ListTagsForResource": "<p>Lists the tags assigned to a resource.</p>",
@@ -914,6 +914,12 @@
914914
"UpdateChannelResponse$InputSwitchConfiguration": "<p>The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive. This setting is valid only when <code>InputType</code> is <code>CMAF</code>.</p>"
915915
}
916916
},
917+
"InputSwitchConfigurationPreferredInputInteger": {
918+
"base": null,
919+
"refs": {
920+
"InputSwitchConfiguration$PreferredInput": "<p>For CMAF inputs, indicates which input MediaPackage should prefer when both inputs have equal MQCS scores. Select <code>1</code> to prefer the first ingest endpoint, or <code>2</code> to prefer the second ingest endpoint. If you don't specify a preferred input, MediaPackage uses its default switching behavior when MQCS scores are equal.</p>"
921+
}
922+
},
917923
"InputType": {
918924
"base": null,
919925
"refs": {

generator/ServiceModels/mediapackagev2/mediapackagev2-2022-12-25.normal.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@
228228
{"shape":"ValidationException"},
229229
{"shape":"ResourceNotFoundException"}
230230
],
231-
"documentation":"<p>Retrieves the specified channel that's configured in AWS Elemental MediaPackage, including the origin endpoints that are associated with it.</p>"
231+
"documentation":"<p>Retrieves the specified channel that's configured in AWS Elemental MediaPackage.</p>"
232232
},
233233
"GetChannelGroup":{
234234
"name":"GetChannelGroup",
@@ -246,7 +246,7 @@
246246
{"shape":"ValidationException"},
247247
{"shape":"ResourceNotFoundException"}
248248
],
249-
"documentation":"<p>Retrieves the specified channel group that's configured in AWS Elemental MediaPackage, including the channels and origin endpoints that are associated with it.</p>"
249+
"documentation":"<p>Retrieves the specified channel group that's configured in AWS Elemental MediaPackage.</p>"
250250
},
251251
"GetChannelPolicy":{
252252
"name":"GetChannelPolicy",
@@ -353,7 +353,7 @@
353353
{"shape":"ValidationException"},
354354
{"shape":"ResourceNotFoundException"}
355355
],
356-
"documentation":"<p>Retrieves all channels in a specific channel group that are configured in AWS Elemental MediaPackage, including the origin endpoints that are associated with it.</p>"
356+
"documentation":"<p>Retrieves all channels in a specific channel group that are configured in AWS Elemental MediaPackage.</p>"
357357
},
358358
"ListHarvestJobs":{
359359
"name":"ListHarvestJobs",
@@ -2951,10 +2951,20 @@
29512951
"MQCSInputSwitching":{
29522952
"shape":"Boolean",
29532953
"documentation":"<p>When true, AWS Elemental MediaPackage performs input switching based on the MQCS. Default is true. This setting is valid only when <code>InputType</code> is <code>CMAF</code>.</p>"
2954+
},
2955+
"PreferredInput":{
2956+
"shape":"InputSwitchConfigurationPreferredInputInteger",
2957+
"documentation":"<p>For CMAF inputs, indicates which input MediaPackage should prefer when both inputs have equal MQCS scores. Select <code>1</code> to prefer the first ingest endpoint, or <code>2</code> to prefer the second ingest endpoint. If you don't specify a preferred input, MediaPackage uses its default switching behavior when MQCS scores are equal.</p>"
29542958
}
29552959
},
29562960
"documentation":"<p>The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive.</p>"
29572961
},
2962+
"InputSwitchConfigurationPreferredInputInteger":{
2963+
"type":"integer",
2964+
"box":true,
2965+
"max":2,
2966+
"min":1
2967+
},
29582968
"InputType":{
29592969
"type":"string",
29602970
"enum":[
@@ -4302,6 +4312,7 @@
43024312
"CMAF_EXCLUDE_SEGMENT_DRM_METADATA_INCOMPATIBLE_CONTAINER_TYPE",
43034313
"ONLY_CMAF_INPUT_TYPE_ALLOW_MQCS_INPUT_SWITCHING",
43044314
"ONLY_CMAF_INPUT_TYPE_ALLOW_MQCS_OUTPUT_CONFIGURATION",
4315+
"ONLY_CMAF_INPUT_TYPE_ALLOW_PREFERRED_INPUT_CONFIGURATION",
43054316
"TS_CONTAINER_TYPE_WITH_MSS_MANIFEST",
43064317
"CMAF_CONTAINER_TYPE_WITH_MSS_MANIFEST",
43074318
"ISM_CONTAINER_TYPE_WITH_HLS_MANIFEST",

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,6 +1043,11 @@
10431043
<max>256</max>
10441044
<pattern>[a-zA-Z0-9_-]+</pattern>
10451045
</property-value-rule>
1046+
<property-value-rule>
1047+
<property>Amazon.MediaPackageV2.Model.InputSwitchConfiguration.PreferredInput</property>
1048+
<min>1</min>
1049+
<max>2</max>
1050+
</property-value-rule>
10461051
<property-value-rule>
10471052
<property>Amazon.MediaPackageV2.Model.ListDashManifestConfiguration.ManifestName</property>
10481053
<min>1</min>

sdk/src/Services/MediaPackageV2/Generated/Model/GetChannelGroupRequest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ namespace Amazon.MediaPackageV2.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the GetChannelGroup operation.
34-
/// Retrieves the specified channel group that's configured in AWS Elemental MediaPackage,
35-
/// including the channels and origin endpoints that are associated with it.
34+
/// Retrieves the specified channel group that's configured in AWS Elemental MediaPackage.
3635
/// </summary>
3736
public partial class GetChannelGroupRequest : AmazonMediaPackageV2Request
3837
{

sdk/src/Services/MediaPackageV2/Generated/Model/GetChannelRequest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ namespace Amazon.MediaPackageV2.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the GetChannel operation.
34-
/// Retrieves the specified channel that's configured in AWS Elemental MediaPackage, including
35-
/// the origin endpoints that are associated with it.
34+
/// Retrieves the specified channel that's configured in AWS Elemental MediaPackage.
3635
/// </summary>
3736
public partial class GetChannelRequest : AmazonMediaPackageV2Request
3837
{

sdk/src/Services/MediaPackageV2/Generated/Model/InputSwitchConfiguration.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ namespace Amazon.MediaPackageV2.Model
3636
public partial class InputSwitchConfiguration
3737
{
3838
private bool? _mqcsInputSwitching;
39+
private int? _preferredInput;
3940

4041
/// <summary>
4142
/// Gets and sets the property MQCSInputSwitching.
@@ -56,5 +57,27 @@ internal bool IsSetMQCSInputSwitching()
5657
return this._mqcsInputSwitching.HasValue;
5758
}
5859

60+
/// <summary>
61+
/// Gets and sets the property PreferredInput.
62+
/// <para>
63+
/// For CMAF inputs, indicates which input MediaPackage should prefer when both inputs
64+
/// have equal MQCS scores. Select <c>1</c> to prefer the first ingest endpoint, or <c>2</c>
65+
/// to prefer the second ingest endpoint. If you don't specify a preferred input, MediaPackage
66+
/// uses its default switching behavior when MQCS scores are equal.
67+
/// </para>
68+
/// </summary>
69+
[AWSProperty(Min=1, Max=2)]
70+
public int PreferredInput
71+
{
72+
get { return this._preferredInput.GetValueOrDefault(); }
73+
set { this._preferredInput = value; }
74+
}
75+
76+
// Check to see if PreferredInput property is set
77+
internal bool IsSetPreferredInput()
78+
{
79+
return this._preferredInput.HasValue;
80+
}
81+
5982
}
6083
}

sdk/src/Services/MediaPackageV2/Generated/Model/Internal/MarshallTransformations/InputSwitchConfigurationMarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ public void Marshall(InputSwitchConfiguration requestObject, JsonMarshallerConte
5454
context.Writer.Write(requestObject.MQCSInputSwitching);
5555
}
5656

57+
if(requestObject.IsSetPreferredInput())
58+
{
59+
context.Writer.WritePropertyName("PreferredInput");
60+
context.Writer.Write(requestObject.PreferredInput);
61+
}
62+
5763
}
5864

5965
/// <summary>

sdk/src/Services/MediaPackageV2/Generated/Model/Internal/MarshallTransformations/InputSwitchConfigurationUnmarshaller.cs

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

sdk/src/Services/MediaPackageV2/Generated/Model/ListChannelsRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ namespace Amazon.MediaPackageV2.Model
3232
/// <summary>
3333
/// Container for the parameters to the ListChannels operation.
3434
/// Retrieves all channels in a specific channel group that are configured in AWS Elemental
35-
/// MediaPackage, including the origin endpoints that are associated with it.
35+
/// MediaPackage.
3636
/// </summary>
3737
public partial class ListChannelsRequest : AmazonMediaPackageV2Request
3838
{

0 commit comments

Comments
 (0)