Skip to content

Commit 88e5f5e

Browse files
committed
update generated code
1 parent eec2d91 commit 88e5f5e

File tree

10 files changed

+251
-1
lines changed

10 files changed

+251
-1
lines changed

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"variables": {
3-
"${LATEST}": "3.322.0"
3+
"${LATEST}": "3.322.2"
44
},
55
"endpoints": "https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json",
66
"services": {

src/Service/MediaConvert/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Added
66

77
- AWS api-change: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback
8+
- AWS api-change: This release provides support for additional DRM configurations per SPEKE Version 2.0.
89

910
### Changed
1011

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace AsyncAws\MediaConvert\Enum;
4+
5+
/**
6+
* Specify which SPEKE version 2.0 audio preset MediaConvert uses to request content keys from your SPEKE server. For
7+
* more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/drm-content-speke-v2-presets.html To
8+
* encrypt to your audio outputs, choose from the following: Audio preset 1, Audio preset 2, or Audio preset 3. To
9+
* encrypt your audio outputs, using the same content key for both your audio and video outputs: Choose Shared. When you
10+
* do, you must also set SPEKE v2.0 video preset to Shared. To not encrypt your audio outputs: Choose Unencrypted. When
11+
* you do, to encrypt your video outputs, you must also specify a SPEKE v2.0 video preset (other than Shared or
12+
* Unencrypted).
13+
*/
14+
final class PresetSpeke20Audio
15+
{
16+
public const PRESET_AUDIO_1 = 'PRESET_AUDIO_1';
17+
public const PRESET_AUDIO_2 = 'PRESET_AUDIO_2';
18+
public const PRESET_AUDIO_3 = 'PRESET_AUDIO_3';
19+
public const SHARED = 'SHARED';
20+
public const UNENCRYPTED = 'UNENCRYPTED';
21+
22+
public static function exists(string $value): bool
23+
{
24+
return isset([
25+
self::PRESET_AUDIO_1 => true,
26+
self::PRESET_AUDIO_2 => true,
27+
self::PRESET_AUDIO_3 => true,
28+
self::SHARED => true,
29+
self::UNENCRYPTED => true,
30+
][$value]);
31+
}
32+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
namespace AsyncAws\MediaConvert\Enum;
4+
5+
/**
6+
* Specify which SPEKE version 2.0 video preset MediaConvert uses to request content keys from your SPEKE server. For
7+
* more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/drm-content-speke-v2-presets.html To
8+
* encrypt to your video outputs, choose from the following: Video preset 1, Video preset 2, Video preset 3, Video
9+
* preset 4, Video preset 5, Video preset 6, Video preset 7, or Video preset 8. To encrypt your video outputs, using the
10+
* same content key for both your video and audio outputs: Choose Shared. When you do, you must also set SPEKE v2.0
11+
* audio preset to Shared. To not encrypt your video outputs: Choose Unencrypted. When you do, to encrypt your audio
12+
* outputs, you must also specify a SPEKE v2.0 audio preset (other than Shared or Unencrypted).
13+
*/
14+
final class PresetSpeke20Video
15+
{
16+
public const PRESET_VIDEO_1 = 'PRESET_VIDEO_1';
17+
public const PRESET_VIDEO_2 = 'PRESET_VIDEO_2';
18+
public const PRESET_VIDEO_3 = 'PRESET_VIDEO_3';
19+
public const PRESET_VIDEO_4 = 'PRESET_VIDEO_4';
20+
public const PRESET_VIDEO_5 = 'PRESET_VIDEO_5';
21+
public const PRESET_VIDEO_6 = 'PRESET_VIDEO_6';
22+
public const PRESET_VIDEO_7 = 'PRESET_VIDEO_7';
23+
public const PRESET_VIDEO_8 = 'PRESET_VIDEO_8';
24+
public const SHARED = 'SHARED';
25+
public const UNENCRYPTED = 'UNENCRYPTED';
26+
27+
public static function exists(string $value): bool
28+
{
29+
return isset([
30+
self::PRESET_VIDEO_1 => true,
31+
self::PRESET_VIDEO_2 => true,
32+
self::PRESET_VIDEO_3 => true,
33+
self::PRESET_VIDEO_4 => true,
34+
self::PRESET_VIDEO_5 => true,
35+
self::PRESET_VIDEO_6 => true,
36+
self::PRESET_VIDEO_7 => true,
37+
self::PRESET_VIDEO_8 => true,
38+
self::SHARED => true,
39+
self::UNENCRYPTED => true,
40+
][$value]);
41+
}
42+
}

src/Service/MediaConvert/src/Result/CreateJobResponse.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
use AsyncAws\MediaConvert\ValueObject\Eac3Settings;
6363
use AsyncAws\MediaConvert\ValueObject\EmbeddedDestinationSettings;
6464
use AsyncAws\MediaConvert\ValueObject\EmbeddedSourceSettings;
65+
use AsyncAws\MediaConvert\ValueObject\EncryptionContractConfiguration;
6566
use AsyncAws\MediaConvert\ValueObject\EsamManifestConfirmConditionNotification;
6667
use AsyncAws\MediaConvert\ValueObject\EsamSettings;
6768
use AsyncAws\MediaConvert\ValueObject\EsamSignalProcessingNotification;
@@ -917,6 +918,14 @@ private function populateResultEmbeddedSourceSettings(array $json): EmbeddedSour
917918
]);
918919
}
919920

921+
private function populateResultEncryptionContractConfiguration(array $json): EncryptionContractConfiguration
922+
{
923+
return new EncryptionContractConfiguration([
924+
'SpekeAudioPreset' => isset($json['spekeAudioPreset']) ? (string) $json['spekeAudioPreset'] : null,
925+
'SpekeVideoPreset' => isset($json['spekeVideoPreset']) ? (string) $json['spekeVideoPreset'] : null,
926+
]);
927+
}
928+
920929
private function populateResultEsamManifestConfirmConditionNotification(array $json): EsamManifestConfirmConditionNotification
921930
{
922931
return new EsamManifestConfirmConditionNotification([
@@ -1952,6 +1961,7 @@ private function populateResultSpekeKeyProvider(array $json): SpekeKeyProvider
19521961
{
19531962
return new SpekeKeyProvider([
19541963
'CertificateArn' => isset($json['certificateArn']) ? (string) $json['certificateArn'] : null,
1964+
'EncryptionContractConfiguration' => empty($json['encryptionContractConfiguration']) ? null : $this->populateResultEncryptionContractConfiguration($json['encryptionContractConfiguration']),
19551965
'ResourceId' => isset($json['resourceId']) ? (string) $json['resourceId'] : null,
19561966
'SystemIds' => !isset($json['systemIds']) ? null : $this->populateResult__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['systemIds']),
19571967
'Url' => isset($json['url']) ? (string) $json['url'] : null,
@@ -1963,6 +1973,7 @@ private function populateResultSpekeKeyProviderCmaf(array $json): SpekeKeyProvid
19631973
return new SpekeKeyProviderCmaf([
19641974
'CertificateArn' => isset($json['certificateArn']) ? (string) $json['certificateArn'] : null,
19651975
'DashSignaledSystemIds' => !isset($json['dashSignaledSystemIds']) ? null : $this->populateResult__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['dashSignaledSystemIds']),
1976+
'EncryptionContractConfiguration' => empty($json['encryptionContractConfiguration']) ? null : $this->populateResultEncryptionContractConfiguration($json['encryptionContractConfiguration']),
19661977
'HlsSignaledSystemIds' => !isset($json['hlsSignaledSystemIds']) ? null : $this->populateResult__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['hlsSignaledSystemIds']),
19671978
'ResourceId' => isset($json['resourceId']) ? (string) $json['resourceId'] : null,
19681979
'Url' => isset($json['url']) ? (string) $json['url'] : null,

src/Service/MediaConvert/src/Result/GetJobResponse.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
use AsyncAws\MediaConvert\ValueObject\Eac3Settings;
6363
use AsyncAws\MediaConvert\ValueObject\EmbeddedDestinationSettings;
6464
use AsyncAws\MediaConvert\ValueObject\EmbeddedSourceSettings;
65+
use AsyncAws\MediaConvert\ValueObject\EncryptionContractConfiguration;
6566
use AsyncAws\MediaConvert\ValueObject\EsamManifestConfirmConditionNotification;
6667
use AsyncAws\MediaConvert\ValueObject\EsamSettings;
6768
use AsyncAws\MediaConvert\ValueObject\EsamSignalProcessingNotification;
@@ -917,6 +918,14 @@ private function populateResultEmbeddedSourceSettings(array $json): EmbeddedSour
917918
]);
918919
}
919920

921+
private function populateResultEncryptionContractConfiguration(array $json): EncryptionContractConfiguration
922+
{
923+
return new EncryptionContractConfiguration([
924+
'SpekeAudioPreset' => isset($json['spekeAudioPreset']) ? (string) $json['spekeAudioPreset'] : null,
925+
'SpekeVideoPreset' => isset($json['spekeVideoPreset']) ? (string) $json['spekeVideoPreset'] : null,
926+
]);
927+
}
928+
920929
private function populateResultEsamManifestConfirmConditionNotification(array $json): EsamManifestConfirmConditionNotification
921930
{
922931
return new EsamManifestConfirmConditionNotification([
@@ -1952,6 +1961,7 @@ private function populateResultSpekeKeyProvider(array $json): SpekeKeyProvider
19521961
{
19531962
return new SpekeKeyProvider([
19541963
'CertificateArn' => isset($json['certificateArn']) ? (string) $json['certificateArn'] : null,
1964+
'EncryptionContractConfiguration' => empty($json['encryptionContractConfiguration']) ? null : $this->populateResultEncryptionContractConfiguration($json['encryptionContractConfiguration']),
19551965
'ResourceId' => isset($json['resourceId']) ? (string) $json['resourceId'] : null,
19561966
'SystemIds' => !isset($json['systemIds']) ? null : $this->populateResult__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['systemIds']),
19571967
'Url' => isset($json['url']) ? (string) $json['url'] : null,
@@ -1963,6 +1973,7 @@ private function populateResultSpekeKeyProviderCmaf(array $json): SpekeKeyProvid
19631973
return new SpekeKeyProviderCmaf([
19641974
'CertificateArn' => isset($json['certificateArn']) ? (string) $json['certificateArn'] : null,
19651975
'DashSignaledSystemIds' => !isset($json['dashSignaledSystemIds']) ? null : $this->populateResult__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['dashSignaledSystemIds']),
1976+
'EncryptionContractConfiguration' => empty($json['encryptionContractConfiguration']) ? null : $this->populateResultEncryptionContractConfiguration($json['encryptionContractConfiguration']),
19661977
'HlsSignaledSystemIds' => !isset($json['hlsSignaledSystemIds']) ? null : $this->populateResult__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['hlsSignaledSystemIds']),
19671978
'ResourceId' => isset($json['resourceId']) ? (string) $json['resourceId'] : null,
19681979
'Url' => isset($json['url']) ? (string) $json['url'] : null,

src/Service/MediaConvert/src/Result/ListJobsResponse.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
use AsyncAws\MediaConvert\ValueObject\Eac3Settings;
6666
use AsyncAws\MediaConvert\ValueObject\EmbeddedDestinationSettings;
6767
use AsyncAws\MediaConvert\ValueObject\EmbeddedSourceSettings;
68+
use AsyncAws\MediaConvert\ValueObject\EncryptionContractConfiguration;
6869
use AsyncAws\MediaConvert\ValueObject\EsamManifestConfirmConditionNotification;
6970
use AsyncAws\MediaConvert\ValueObject\EsamSettings;
7071
use AsyncAws\MediaConvert\ValueObject\EsamSignalProcessingNotification;
@@ -984,6 +985,14 @@ private function populateResultEmbeddedSourceSettings(array $json): EmbeddedSour
984985
]);
985986
}
986987

988+
private function populateResultEncryptionContractConfiguration(array $json): EncryptionContractConfiguration
989+
{
990+
return new EncryptionContractConfiguration([
991+
'SpekeAudioPreset' => isset($json['spekeAudioPreset']) ? (string) $json['spekeAudioPreset'] : null,
992+
'SpekeVideoPreset' => isset($json['spekeVideoPreset']) ? (string) $json['spekeVideoPreset'] : null,
993+
]);
994+
}
995+
987996
private function populateResultEsamManifestConfirmConditionNotification(array $json): EsamManifestConfirmConditionNotification
988997
{
989998
return new EsamManifestConfirmConditionNotification([
@@ -2019,6 +2028,7 @@ private function populateResultSpekeKeyProvider(array $json): SpekeKeyProvider
20192028
{
20202029
return new SpekeKeyProvider([
20212030
'CertificateArn' => isset($json['certificateArn']) ? (string) $json['certificateArn'] : null,
2031+
'EncryptionContractConfiguration' => empty($json['encryptionContractConfiguration']) ? null : $this->populateResultEncryptionContractConfiguration($json['encryptionContractConfiguration']),
20222032
'ResourceId' => isset($json['resourceId']) ? (string) $json['resourceId'] : null,
20232033
'SystemIds' => !isset($json['systemIds']) ? null : $this->populateResult__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['systemIds']),
20242034
'Url' => isset($json['url']) ? (string) $json['url'] : null,
@@ -2030,6 +2040,7 @@ private function populateResultSpekeKeyProviderCmaf(array $json): SpekeKeyProvid
20302040
return new SpekeKeyProviderCmaf([
20312041
'CertificateArn' => isset($json['certificateArn']) ? (string) $json['certificateArn'] : null,
20322042
'DashSignaledSystemIds' => !isset($json['dashSignaledSystemIds']) ? null : $this->populateResult__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['dashSignaledSystemIds']),
2043+
'EncryptionContractConfiguration' => empty($json['encryptionContractConfiguration']) ? null : $this->populateResultEncryptionContractConfiguration($json['encryptionContractConfiguration']),
20332044
'HlsSignaledSystemIds' => !isset($json['hlsSignaledSystemIds']) ? null : $this->populateResult__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12($json['hlsSignaledSystemIds']),
20342045
'ResourceId' => isset($json['resourceId']) ? (string) $json['resourceId'] : null,
20352046
'Url' => isset($json['url']) ? (string) $json['url'] : null,
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?php
2+
3+
namespace AsyncAws\MediaConvert\ValueObject;
4+
5+
use AsyncAws\Core\Exception\InvalidArgument;
6+
use AsyncAws\MediaConvert\Enum\PresetSpeke20Audio;
7+
use AsyncAws\MediaConvert\Enum\PresetSpeke20Video;
8+
9+
/**
10+
* Specify the SPEKE version, either v1.0 or v2.0, that MediaConvert uses when encrypting your output. For more
11+
* information, see: https://docs.aws.amazon.com/speke/latest/documentation/speke-api-specification.html To use SPEKE
12+
* v1.0: Leave blank. To use SPEKE v2.0: Specify a SPEKE v2.0 video preset and a SPEKE v2.0 audio preset.
13+
*/
14+
final class EncryptionContractConfiguration
15+
{
16+
/**
17+
* Specify which SPEKE version 2.0 audio preset MediaConvert uses to request content keys from your SPEKE server. For
18+
* more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/drm-content-speke-v2-presets.html To
19+
* encrypt to your audio outputs, choose from the following: Audio preset 1, Audio preset 2, or Audio preset 3. To
20+
* encrypt your audio outputs, using the same content key for both your audio and video outputs: Choose Shared. When you
21+
* do, you must also set SPEKE v2.0 video preset to Shared. To not encrypt your audio outputs: Choose Unencrypted. When
22+
* you do, to encrypt your video outputs, you must also specify a SPEKE v2.0 video preset (other than Shared or
23+
* Unencrypted).
24+
*
25+
* @var PresetSpeke20Audio::*|null
26+
*/
27+
private $spekeAudioPreset;
28+
29+
/**
30+
* Specify which SPEKE version 2.0 video preset MediaConvert uses to request content keys from your SPEKE server. For
31+
* more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/drm-content-speke-v2-presets.html To
32+
* encrypt to your video outputs, choose from the following: Video preset 1, Video preset 2, Video preset 3, Video
33+
* preset 4, Video preset 5, Video preset 6, Video preset 7, or Video preset 8. To encrypt your video outputs, using the
34+
* same content key for both your video and audio outputs: Choose Shared. When you do, you must also set SPEKE v2.0
35+
* audio preset to Shared. To not encrypt your video outputs: Choose Unencrypted. When you do, to encrypt your audio
36+
* outputs, you must also specify a SPEKE v2.0 audio preset (other than Shared or Unencrypted).
37+
*
38+
* @var PresetSpeke20Video::*|null
39+
*/
40+
private $spekeVideoPreset;
41+
42+
/**
43+
* @param array{
44+
* SpekeAudioPreset?: null|PresetSpeke20Audio::*,
45+
* SpekeVideoPreset?: null|PresetSpeke20Video::*,
46+
* } $input
47+
*/
48+
public function __construct(array $input)
49+
{
50+
$this->spekeAudioPreset = $input['SpekeAudioPreset'] ?? null;
51+
$this->spekeVideoPreset = $input['SpekeVideoPreset'] ?? null;
52+
}
53+
54+
/**
55+
* @param array{
56+
* SpekeAudioPreset?: null|PresetSpeke20Audio::*,
57+
* SpekeVideoPreset?: null|PresetSpeke20Video::*,
58+
* }|EncryptionContractConfiguration $input
59+
*/
60+
public static function create($input): self
61+
{
62+
return $input instanceof self ? $input : new self($input);
63+
}
64+
65+
/**
66+
* @return PresetSpeke20Audio::*|null
67+
*/
68+
public function getSpekeAudioPreset(): ?string
69+
{
70+
return $this->spekeAudioPreset;
71+
}
72+
73+
/**
74+
* @return PresetSpeke20Video::*|null
75+
*/
76+
public function getSpekeVideoPreset(): ?string
77+
{
78+
return $this->spekeVideoPreset;
79+
}
80+
81+
/**
82+
* @internal
83+
*/
84+
public function requestBody(): array
85+
{
86+
$payload = [];
87+
if (null !== $v = $this->spekeAudioPreset) {
88+
if (!PresetSpeke20Audio::exists($v)) {
89+
throw new InvalidArgument(\sprintf('Invalid parameter "spekeAudioPreset" for "%s". The value "%s" is not a valid "PresetSpeke20Audio".', __CLASS__, $v));
90+
}
91+
$payload['spekeAudioPreset'] = $v;
92+
}
93+
if (null !== $v = $this->spekeVideoPreset) {
94+
if (!PresetSpeke20Video::exists($v)) {
95+
throw new InvalidArgument(\sprintf('Invalid parameter "spekeVideoPreset" for "%s". The value "%s" is not a valid "PresetSpeke20Video".', __CLASS__, $v));
96+
}
97+
$payload['spekeVideoPreset'] = $v;
98+
}
99+
100+
return $payload;
101+
}
102+
}

src/Service/MediaConvert/src/ValueObject/SpekeKeyProvider.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ final class SpekeKeyProvider
1616
*/
1717
private $certificateArn;
1818

19+
/**
20+
* Specify the SPEKE version, either v1.0 or v2.0, that MediaConvert uses when encrypting your output. For more
21+
* information, see: https://docs.aws.amazon.com/speke/latest/documentation/speke-api-specification.html To use SPEKE
22+
* v1.0: Leave blank. To use SPEKE v2.0: Specify a SPEKE v2.0 video preset and a SPEKE v2.0 audio preset.
23+
*
24+
* @var EncryptionContractConfiguration|null
25+
*/
26+
private $encryptionContractConfiguration;
27+
1928
/**
2029
* Specify the resource ID that your SPEKE-compliant key provider uses to identify this content.
2130
*
@@ -43,6 +52,7 @@ final class SpekeKeyProvider
4352
/**
4453
* @param array{
4554
* CertificateArn?: null|string,
55+
* EncryptionContractConfiguration?: null|EncryptionContractConfiguration|array,
4656
* ResourceId?: null|string,
4757
* SystemIds?: null|string[],
4858
* Url?: null|string,
@@ -51,6 +61,7 @@ final class SpekeKeyProvider
5161
public function __construct(array $input)
5262
{
5363
$this->certificateArn = $input['CertificateArn'] ?? null;
64+
$this->encryptionContractConfiguration = isset($input['EncryptionContractConfiguration']) ? EncryptionContractConfiguration::create($input['EncryptionContractConfiguration']) : null;
5465
$this->resourceId = $input['ResourceId'] ?? null;
5566
$this->systemIds = $input['SystemIds'] ?? null;
5667
$this->url = $input['Url'] ?? null;
@@ -59,6 +70,7 @@ public function __construct(array $input)
5970
/**
6071
* @param array{
6172
* CertificateArn?: null|string,
73+
* EncryptionContractConfiguration?: null|EncryptionContractConfiguration|array,
6274
* ResourceId?: null|string,
6375
* SystemIds?: null|string[],
6476
* Url?: null|string,
@@ -74,6 +86,11 @@ public function getCertificateArn(): ?string
7486
return $this->certificateArn;
7587
}
7688

89+
public function getEncryptionContractConfiguration(): ?EncryptionContractConfiguration
90+
{
91+
return $this->encryptionContractConfiguration;
92+
}
93+
7794
public function getResourceId(): ?string
7895
{
7996
return $this->resourceId;
@@ -101,6 +118,9 @@ public function requestBody(): array
101118
if (null !== $v = $this->certificateArn) {
102119
$payload['certificateArn'] = $v;
103120
}
121+
if (null !== $v = $this->encryptionContractConfiguration) {
122+
$payload['encryptionContractConfiguration'] = $v->requestBody();
123+
}
104124
if (null !== $v = $this->resourceId) {
105125
$payload['resourceId'] = $v;
106126
}

0 commit comments

Comments
 (0)