+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace Glue
+{
+namespace Model
+{
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
See Also:
+ * AWS
+ * API Reference
+ */
+ class QuerySessionContext
+ {
+ public:
+ AWS_GLUE_API QuerySessionContext();
+ AWS_GLUE_API QuerySessionContext(Aws::Utils::Json::JsonView jsonValue);
+ AWS_GLUE_API QuerySessionContext& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline const Aws::String& GetQueryId() const{ return m_queryId; }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline QuerySessionContext& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;}
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline QuerySessionContext& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;}
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline QuerySessionContext& WithQueryId(const char* value) { SetQueryId(value); return *this;}
+
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline const Aws::Utils::DateTime& GetQueryStartTime() const{ return m_queryStartTime; }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline bool QueryStartTimeHasBeenSet() const { return m_queryStartTimeHasBeenSet; }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline void SetQueryStartTime(const Aws::Utils::DateTime& value) { m_queryStartTimeHasBeenSet = true; m_queryStartTime = value; }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline void SetQueryStartTime(Aws::Utils::DateTime&& value) { m_queryStartTimeHasBeenSet = true; m_queryStartTime = std::move(value); }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline QuerySessionContext& WithQueryStartTime(const Aws::Utils::DateTime& value) { SetQueryStartTime(value); return *this;}
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline QuerySessionContext& WithQueryStartTime(Aws::Utils::DateTime&& value) { SetQueryStartTime(std::move(value)); return *this;}
+
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline const Aws::String& GetClusterId() const{ return m_clusterId; }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline QuerySessionContext& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;}
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline QuerySessionContext& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;}
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline QuerySessionContext& WithClusterId(const char* value) { SetClusterId(value); return *this;}
+
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline const Aws::String& GetQueryAuthorizationId() const{ return m_queryAuthorizationId; }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline bool QueryAuthorizationIdHasBeenSet() const { return m_queryAuthorizationIdHasBeenSet; }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline void SetQueryAuthorizationId(const Aws::String& value) { m_queryAuthorizationIdHasBeenSet = true; m_queryAuthorizationId = value; }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline void SetQueryAuthorizationId(Aws::String&& value) { m_queryAuthorizationIdHasBeenSet = true; m_queryAuthorizationId = std::move(value); }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline void SetQueryAuthorizationId(const char* value) { m_queryAuthorizationIdHasBeenSet = true; m_queryAuthorizationId.assign(value); }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline QuerySessionContext& WithQueryAuthorizationId(const Aws::String& value) { SetQueryAuthorizationId(value); return *this;}
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline QuerySessionContext& WithQueryAuthorizationId(Aws::String&& value) { SetQueryAuthorizationId(std::move(value)); return *this;}
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline QuerySessionContext& WithQueryAuthorizationId(const char* value) { SetQueryAuthorizationId(value); return *this;}
+
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline const Aws::Map& GetAdditionalContext() const{ return m_additionalContext; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline bool AdditionalContextHasBeenSet() const { return m_additionalContextHasBeenSet; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline void SetAdditionalContext(const Aws::Map& value) { m_additionalContextHasBeenSet = true; m_additionalContext = value; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline void SetAdditionalContext(Aws::Map&& value) { m_additionalContextHasBeenSet = true; m_additionalContext = std::move(value); }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& WithAdditionalContext(const Aws::Map& value) { SetAdditionalContext(value); return *this;}
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& WithAdditionalContext(Aws::Map&& value) { SetAdditionalContext(std::move(value)); return *this;}
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const Aws::String& key, const Aws::String& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, value); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(Aws::String&& key, const Aws::String& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(std::move(key), value); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const Aws::String& key, Aws::String&& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, std::move(value)); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(Aws::String&& key, Aws::String&& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(std::move(key), std::move(value)); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const char* key, Aws::String&& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, std::move(value)); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(Aws::String&& key, const char* value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(std::move(key), value); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const char* key, const char* value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, value); return *this; }
+
+ private:
+
+ Aws::String m_queryId;
+ bool m_queryIdHasBeenSet = false;
+
+ Aws::Utils::DateTime m_queryStartTime;
+ bool m_queryStartTimeHasBeenSet = false;
+
+ Aws::String m_clusterId;
+ bool m_clusterIdHasBeenSet = false;
+
+ Aws::String m_queryAuthorizationId;
+ bool m_queryAuthorizationIdHasBeenSet = false;
+
+ Aws::Map m_additionalContext;
+ bool m_additionalContextHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace Glue
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/SupportedDialect.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/SupportedDialect.h
new file mode 100644
index 00000000000..74656a23e4a
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/SupportedDialect.h
@@ -0,0 +1,124 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace Glue
+{
+namespace Model
+{
+
+ /**
+ * A structure specifying the dialect and dialect version used by the query
+ * engine.
See Also:
AWS
+ * API Reference
+ */
+ class SupportedDialect
+ {
+ public:
+ AWS_GLUE_API SupportedDialect();
+ AWS_GLUE_API SupportedDialect(Aws::Utils::Json::JsonView jsonValue);
+ AWS_GLUE_API SupportedDialect& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * The dialect of the query engine.
+ */
+ inline const ViewDialect& GetDialect() const{ return m_dialect; }
+
+ /**
+ * The dialect of the query engine.
+ */
+ inline bool DialectHasBeenSet() const { return m_dialectHasBeenSet; }
+
+ /**
+ * The dialect of the query engine.
+ */
+ inline void SetDialect(const ViewDialect& value) { m_dialectHasBeenSet = true; m_dialect = value; }
+
+ /**
+ * The dialect of the query engine.
+ */
+ inline void SetDialect(ViewDialect&& value) { m_dialectHasBeenSet = true; m_dialect = std::move(value); }
+
+ /**
+ * The dialect of the query engine.
+ */
+ inline SupportedDialect& WithDialect(const ViewDialect& value) { SetDialect(value); return *this;}
+
+ /**
+ * The dialect of the query engine.
+ */
+ inline SupportedDialect& WithDialect(ViewDialect&& value) { SetDialect(std::move(value)); return *this;}
+
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline const Aws::String& GetDialectVersion() const{ return m_dialectVersion; }
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline bool DialectVersionHasBeenSet() const { return m_dialectVersionHasBeenSet; }
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline void SetDialectVersion(const Aws::String& value) { m_dialectVersionHasBeenSet = true; m_dialectVersion = value; }
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline void SetDialectVersion(Aws::String&& value) { m_dialectVersionHasBeenSet = true; m_dialectVersion = std::move(value); }
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline void SetDialectVersion(const char* value) { m_dialectVersionHasBeenSet = true; m_dialectVersion.assign(value); }
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline SupportedDialect& WithDialectVersion(const Aws::String& value) { SetDialectVersion(value); return *this;}
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline SupportedDialect& WithDialectVersion(Aws::String&& value) { SetDialectVersion(std::move(value)); return *this;}
+
+ /**
+ * The version of the dialect of the query engine. For example, 3.0.0.
+ */
+ inline SupportedDialect& WithDialectVersion(const char* value) { SetDialectVersion(value); return *this;}
+
+ private:
+
+ ViewDialect m_dialect;
+ bool m_dialectHasBeenSet = false;
+
+ Aws::String m_dialectVersion;
+ bool m_dialectVersionHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace Glue
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/ViewDialect.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/ViewDialect.h
new file mode 100644
index 00000000000..4f8cd5be651
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/ViewDialect.h
@@ -0,0 +1,32 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+
+namespace Aws
+{
+namespace Glue
+{
+namespace Model
+{
+ enum class ViewDialect
+ {
+ NOT_SET,
+ REDSHIFT,
+ ATHENA,
+ SPARK
+ };
+
+namespace ViewDialectMapper
+{
+AWS_GLUE_API ViewDialect GetViewDialectForName(const Aws::String& name);
+
+AWS_GLUE_API Aws::String GetNameForViewDialect(ViewDialect value);
+} // namespace ViewDialectMapper
+} // namespace Model
+} // namespace Glue
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionMetadataRequest.cpp b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionMetadataRequest.cpp
index 13feb25225f..8e8327d5acd 100644
--- a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionMetadataRequest.cpp
+++ b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionMetadataRequest.cpp
@@ -13,12 +13,14 @@ using namespace Aws::Utils::Json;
using namespace Aws::Utils;
GetUnfilteredPartitionMetadataRequest::GetUnfilteredPartitionMetadataRequest() :
+ m_regionHasBeenSet(false),
m_catalogIdHasBeenSet(false),
m_databaseNameHasBeenSet(false),
m_tableNameHasBeenSet(false),
m_partitionValuesHasBeenSet(false),
m_auditContextHasBeenSet(false),
- m_supportedPermissionTypesHasBeenSet(false)
+ m_supportedPermissionTypesHasBeenSet(false),
+ m_querySessionContextHasBeenSet(false)
{
}
@@ -26,6 +28,12 @@ Aws::String GetUnfilteredPartitionMetadataRequest::SerializePayload() const
{
JsonValue payload;
+ if(m_regionHasBeenSet)
+ {
+ payload.WithString("Region", m_region);
+
+ }
+
if(m_catalogIdHasBeenSet)
{
payload.WithString("CatalogId", m_catalogId);
@@ -72,6 +80,12 @@ Aws::String GetUnfilteredPartitionMetadataRequest::SerializePayload() const
}
+ if(m_querySessionContextHasBeenSet)
+ {
+ payload.WithObject("QuerySessionContext", m_querySessionContext.Jsonize());
+
+ }
+
return payload.View().WriteReadable();
}
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionsMetadataRequest.cpp b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionsMetadataRequest.cpp
index 1c9c7dde392..e8264325765 100644
--- a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionsMetadataRequest.cpp
+++ b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredPartitionsMetadataRequest.cpp
@@ -13,6 +13,7 @@ using namespace Aws::Utils::Json;
using namespace Aws::Utils;
GetUnfilteredPartitionsMetadataRequest::GetUnfilteredPartitionsMetadataRequest() :
+ m_regionHasBeenSet(false),
m_catalogIdHasBeenSet(false),
m_databaseNameHasBeenSet(false),
m_tableNameHasBeenSet(false),
@@ -22,7 +23,8 @@ GetUnfilteredPartitionsMetadataRequest::GetUnfilteredPartitionsMetadataRequest()
m_nextTokenHasBeenSet(false),
m_segmentHasBeenSet(false),
m_maxResults(0),
- m_maxResultsHasBeenSet(false)
+ m_maxResultsHasBeenSet(false),
+ m_querySessionContextHasBeenSet(false)
{
}
@@ -30,6 +32,12 @@ Aws::String GetUnfilteredPartitionsMetadataRequest::SerializePayload() const
{
JsonValue payload;
+ if(m_regionHasBeenSet)
+ {
+ payload.WithString("Region", m_region);
+
+ }
+
if(m_catalogIdHasBeenSet)
{
payload.WithString("CatalogId", m_catalogId);
@@ -89,6 +97,12 @@ Aws::String GetUnfilteredPartitionsMetadataRequest::SerializePayload() const
}
+ if(m_querySessionContextHasBeenSet)
+ {
+ payload.WithObject("QuerySessionContext", m_querySessionContext.Jsonize());
+
+ }
+
return payload.View().WriteReadable();
}
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataRequest.cpp b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataRequest.cpp
index 30f78523b63..13920c8fe4e 100644
--- a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataRequest.cpp
+++ b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataRequest.cpp
@@ -13,11 +13,15 @@ using namespace Aws::Utils::Json;
using namespace Aws::Utils;
GetUnfilteredTableMetadataRequest::GetUnfilteredTableMetadataRequest() :
+ m_regionHasBeenSet(false),
m_catalogIdHasBeenSet(false),
m_databaseNameHasBeenSet(false),
m_nameHasBeenSet(false),
m_auditContextHasBeenSet(false),
- m_supportedPermissionTypesHasBeenSet(false)
+ m_supportedPermissionTypesHasBeenSet(false),
+ m_supportedDialectHasBeenSet(false),
+ m_permissionsHasBeenSet(false),
+ m_querySessionContextHasBeenSet(false)
{
}
@@ -25,6 +29,12 @@ Aws::String GetUnfilteredTableMetadataRequest::SerializePayload() const
{
JsonValue payload;
+ if(m_regionHasBeenSet)
+ {
+ payload.WithString("Region", m_region);
+
+ }
+
if(m_catalogIdHasBeenSet)
{
payload.WithString("CatalogId", m_catalogId);
@@ -60,6 +70,29 @@ Aws::String GetUnfilteredTableMetadataRequest::SerializePayload() const
}
+ if(m_supportedDialectHasBeenSet)
+ {
+ payload.WithObject("SupportedDialect", m_supportedDialect.Jsonize());
+
+ }
+
+ if(m_permissionsHasBeenSet)
+ {
+ Aws::Utils::Array permissionsJsonList(m_permissions.size());
+ for(unsigned permissionsIndex = 0; permissionsIndex < permissionsJsonList.GetLength(); ++permissionsIndex)
+ {
+ permissionsJsonList[permissionsIndex].AsString(PermissionMapper::GetNameForPermission(m_permissions[permissionsIndex]));
+ }
+ payload.WithArray("Permissions", std::move(permissionsJsonList));
+
+ }
+
+ if(m_querySessionContextHasBeenSet)
+ {
+ payload.WithObject("QuerySessionContext", m_querySessionContext.Jsonize());
+
+ }
+
return payload.View().WriteReadable();
}
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataResult.cpp
index 233f22f9ae6..d376802142d 100644
--- a/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataResult.cpp
+++ b/generated/src/aws-cpp-sdk-glue/source/model/GetUnfilteredTableMetadataResult.cpp
@@ -61,6 +61,27 @@ GetUnfilteredTableMetadataResult& GetUnfilteredTableMetadataResult::operator =(c
}
}
+ if(jsonValue.ValueExists("QueryAuthorizationId"))
+ {
+ m_queryAuthorizationId = jsonValue.GetString("QueryAuthorizationId");
+
+ }
+
+ if(jsonValue.ValueExists("ResourceArn"))
+ {
+ m_resourceArn = jsonValue.GetString("ResourceArn");
+
+ }
+
+ if(jsonValue.ValueExists("Permissions"))
+ {
+ Aws::Utils::Array permissionsJsonList = jsonValue.GetArray("Permissions");
+ for(unsigned permissionsIndex = 0; permissionsIndex < permissionsJsonList.GetLength(); ++permissionsIndex)
+ {
+ m_permissions.push_back(PermissionMapper::GetPermissionForName(permissionsJsonList[permissionsIndex].AsString()));
+ }
+ }
+
const auto& headers = result.GetHeaderValueCollection();
const auto& requestIdIter = headers.find("x-amzn-requestid");
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/QuerySessionContext.cpp b/generated/src/aws-cpp-sdk-glue/source/model/QuerySessionContext.cpp
new file mode 100644
index 00000000000..636d9c51341
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-glue/source/model/QuerySessionContext.cpp
@@ -0,0 +1,126 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace Glue
+{
+namespace Model
+{
+
+QuerySessionContext::QuerySessionContext() :
+ m_queryIdHasBeenSet(false),
+ m_queryStartTimeHasBeenSet(false),
+ m_clusterIdHasBeenSet(false),
+ m_queryAuthorizationIdHasBeenSet(false),
+ m_additionalContextHasBeenSet(false)
+{
+}
+
+QuerySessionContext::QuerySessionContext(JsonView jsonValue) :
+ m_queryIdHasBeenSet(false),
+ m_queryStartTimeHasBeenSet(false),
+ m_clusterIdHasBeenSet(false),
+ m_queryAuthorizationIdHasBeenSet(false),
+ m_additionalContextHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+QuerySessionContext& QuerySessionContext::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("QueryId"))
+ {
+ m_queryId = jsonValue.GetString("QueryId");
+
+ m_queryIdHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("QueryStartTime"))
+ {
+ m_queryStartTime = jsonValue.GetDouble("QueryStartTime");
+
+ m_queryStartTimeHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("ClusterId"))
+ {
+ m_clusterId = jsonValue.GetString("ClusterId");
+
+ m_clusterIdHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("QueryAuthorizationId"))
+ {
+ m_queryAuthorizationId = jsonValue.GetString("QueryAuthorizationId");
+
+ m_queryAuthorizationIdHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("AdditionalContext"))
+ {
+ Aws::Map additionalContextJsonMap = jsonValue.GetObject("AdditionalContext").GetAllObjects();
+ for(auto& additionalContextItem : additionalContextJsonMap)
+ {
+ m_additionalContext[additionalContextItem.first] = additionalContextItem.second.AsString();
+ }
+ m_additionalContextHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue QuerySessionContext::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_queryIdHasBeenSet)
+ {
+ payload.WithString("QueryId", m_queryId);
+
+ }
+
+ if(m_queryStartTimeHasBeenSet)
+ {
+ payload.WithDouble("QueryStartTime", m_queryStartTime.SecondsWithMSPrecision());
+ }
+
+ if(m_clusterIdHasBeenSet)
+ {
+ payload.WithString("ClusterId", m_clusterId);
+
+ }
+
+ if(m_queryAuthorizationIdHasBeenSet)
+ {
+ payload.WithString("QueryAuthorizationId", m_queryAuthorizationId);
+
+ }
+
+ if(m_additionalContextHasBeenSet)
+ {
+ JsonValue additionalContextJsonMap;
+ for(auto& additionalContextItem : m_additionalContext)
+ {
+ additionalContextJsonMap.WithString(additionalContextItem.first, additionalContextItem.second);
+ }
+ payload.WithObject("AdditionalContext", std::move(additionalContextJsonMap));
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace Glue
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/SupportedDialect.cpp b/generated/src/aws-cpp-sdk-glue/source/model/SupportedDialect.cpp
new file mode 100644
index 00000000000..aacb9cfd0c6
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-glue/source/model/SupportedDialect.cpp
@@ -0,0 +1,75 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace Glue
+{
+namespace Model
+{
+
+SupportedDialect::SupportedDialect() :
+ m_dialect(ViewDialect::NOT_SET),
+ m_dialectHasBeenSet(false),
+ m_dialectVersionHasBeenSet(false)
+{
+}
+
+SupportedDialect::SupportedDialect(JsonView jsonValue) :
+ m_dialect(ViewDialect::NOT_SET),
+ m_dialectHasBeenSet(false),
+ m_dialectVersionHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+SupportedDialect& SupportedDialect::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("Dialect"))
+ {
+ m_dialect = ViewDialectMapper::GetViewDialectForName(jsonValue.GetString("Dialect"));
+
+ m_dialectHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("DialectVersion"))
+ {
+ m_dialectVersion = jsonValue.GetString("DialectVersion");
+
+ m_dialectVersionHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue SupportedDialect::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_dialectHasBeenSet)
+ {
+ payload.WithString("Dialect", ViewDialectMapper::GetNameForViewDialect(m_dialect));
+ }
+
+ if(m_dialectVersionHasBeenSet)
+ {
+ payload.WithString("DialectVersion", m_dialectVersion);
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace Glue
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-glue/source/model/ViewDialect.cpp b/generated/src/aws-cpp-sdk-glue/source/model/ViewDialect.cpp
new file mode 100644
index 00000000000..cd32fbb86b6
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-glue/source/model/ViewDialect.cpp
@@ -0,0 +1,79 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+#include
+#include
+
+using namespace Aws::Utils;
+
+
+namespace Aws
+{
+ namespace Glue
+ {
+ namespace Model
+ {
+ namespace ViewDialectMapper
+ {
+
+ static const int REDSHIFT_HASH = HashingUtils::HashString("REDSHIFT");
+ static const int ATHENA_HASH = HashingUtils::HashString("ATHENA");
+ static const int SPARK_HASH = HashingUtils::HashString("SPARK");
+
+
+ ViewDialect GetViewDialectForName(const Aws::String& name)
+ {
+ int hashCode = HashingUtils::HashString(name.c_str());
+ if (hashCode == REDSHIFT_HASH)
+ {
+ return ViewDialect::REDSHIFT;
+ }
+ else if (hashCode == ATHENA_HASH)
+ {
+ return ViewDialect::ATHENA;
+ }
+ else if (hashCode == SPARK_HASH)
+ {
+ return ViewDialect::SPARK;
+ }
+ EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
+ if(overflowContainer)
+ {
+ overflowContainer->StoreOverflow(hashCode, name);
+ return static_cast(hashCode);
+ }
+
+ return ViewDialect::NOT_SET;
+ }
+
+ Aws::String GetNameForViewDialect(ViewDialect enumValue)
+ {
+ switch(enumValue)
+ {
+ case ViewDialect::NOT_SET:
+ return {};
+ case ViewDialect::REDSHIFT:
+ return "REDSHIFT";
+ case ViewDialect::ATHENA:
+ return "ATHENA";
+ case ViewDialect::SPARK:
+ return "SPARK";
+ default:
+ EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
+ if(overflowContainer)
+ {
+ return overflowContainer->RetrieveOverflow(static_cast(enumValue));
+ }
+
+ return {};
+ }
+ }
+
+ } // namespace ViewDialectMapper
+ } // namespace Model
+ } // namespace Glue
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h
index 4c7858649d7..35752d6a369 100644
--- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h
+++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h
@@ -165,37 +165,37 @@ namespace Model
/**
* A list of the account IDs of Amazon Web Services accounts of third-party
- * applications that are allowed to to access data managed by Lake Formation.
+ * applications that are allowed to access data managed by Lake Formation.
*/
inline const ExternalFilteringConfiguration& GetExternalFiltering() const{ return m_externalFiltering; }
/**
* A list of the account IDs of Amazon Web Services accounts of third-party
- * applications that are allowed to to access data managed by Lake Formation.
+ * applications that are allowed to access data managed by Lake Formation.
*/
inline bool ExternalFilteringHasBeenSet() const { return m_externalFilteringHasBeenSet; }
/**
* A list of the account IDs of Amazon Web Services accounts of third-party
- * applications that are allowed to to access data managed by Lake Formation.
+ * applications that are allowed to access data managed by Lake Formation.
*/
inline void SetExternalFiltering(const ExternalFilteringConfiguration& value) { m_externalFilteringHasBeenSet = true; m_externalFiltering = value; }
/**
* A list of the account IDs of Amazon Web Services accounts of third-party
- * applications that are allowed to to access data managed by Lake Formation.
+ * applications that are allowed to access data managed by Lake Formation.
*/
inline void SetExternalFiltering(ExternalFilteringConfiguration&& value) { m_externalFilteringHasBeenSet = true; m_externalFiltering = std::move(value); }
/**
* A list of the account IDs of Amazon Web Services accounts of third-party
- * applications that are allowed to to access data managed by Lake Formation.
+ * applications that are allowed to access data managed by Lake Formation.
*/
inline CreateLakeFormationIdentityCenterConfigurationRequest& WithExternalFiltering(const ExternalFilteringConfiguration& value) { SetExternalFiltering(value); return *this;}
/**
* A list of the account IDs of Amazon Web Services accounts of third-party
- * applications that are allowed to to access data managed by Lake Formation.
+ * applications that are allowed to access data managed by Lake Formation.
*/
inline CreateLakeFormationIdentityCenterConfigurationRequest& WithExternalFiltering(ExternalFilteringConfiguration&& value) { SetExternalFiltering(std::move(value)); return *this;}
diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsRequest.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsRequest.h
index 90e57399808..435839595ea 100644
--- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsRequest.h
+++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsRequest.h
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -244,6 +245,90 @@ namespace Model
*/
inline GetTemporaryGlueTableCredentialsRequest& AddSupportedPermissionTypes(PermissionType&& value) { m_supportedPermissionTypesHasBeenSet = true; m_supportedPermissionTypes.push_back(std::move(value)); return *this; }
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline const Aws::String& GetS3Path() const{ return m_s3Path; }
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; }
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline void SetS3Path(const Aws::String& value) { m_s3PathHasBeenSet = true; m_s3Path = value; }
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline void SetS3Path(Aws::String&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::move(value); }
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline void SetS3Path(const char* value) { m_s3PathHasBeenSet = true; m_s3Path.assign(value); }
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline GetTemporaryGlueTableCredentialsRequest& WithS3Path(const Aws::String& value) { SetS3Path(value); return *this;}
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline GetTemporaryGlueTableCredentialsRequest& WithS3Path(Aws::String&& value) { SetS3Path(std::move(value)); return *this;}
+
+ /**
+ * The Amazon S3 path for the table.
+ */
+ inline GetTemporaryGlueTableCredentialsRequest& WithS3Path(const char* value) { SetS3Path(value); return *this;}
+
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
+ */
+ inline const QuerySessionContext& GetQuerySessionContext() const{ return m_querySessionContext; }
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
+ */
+ inline bool QuerySessionContextHasBeenSet() const { return m_querySessionContextHasBeenSet; }
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
+ */
+ inline void SetQuerySessionContext(const QuerySessionContext& value) { m_querySessionContextHasBeenSet = true; m_querySessionContext = value; }
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
+ */
+ inline void SetQuerySessionContext(QuerySessionContext&& value) { m_querySessionContextHasBeenSet = true; m_querySessionContext = std::move(value); }
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
+ */
+ inline GetTemporaryGlueTableCredentialsRequest& WithQuerySessionContext(const QuerySessionContext& value) { SetQuerySessionContext(value); return *this;}
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
+ */
+ inline GetTemporaryGlueTableCredentialsRequest& WithQuerySessionContext(QuerySessionContext&& value) { SetQuerySessionContext(std::move(value)); return *this;}
+
private:
Aws::String m_tableArn;
@@ -260,6 +345,12 @@ namespace Model
Aws::Vector m_supportedPermissionTypes;
bool m_supportedPermissionTypesHasBeenSet = false;
+
+ Aws::String m_s3Path;
+ bool m_s3PathHasBeenSet = false;
+
+ QuerySessionContext m_querySessionContext;
+ bool m_querySessionContextHasBeenSet = false;
};
} // namespace Model
diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsResult.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsResult.h
index 567648c5836..7063c20aa12 100644
--- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsResult.h
+++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/GetTemporaryGlueTableCredentialsResult.h
@@ -7,6 +7,7 @@
#include
#include
#include
+#include
#include
namespace Aws
@@ -167,6 +168,47 @@ namespace Model
inline GetTemporaryGlueTableCredentialsResult& WithExpiration(Aws::Utils::DateTime&& value) { SetExpiration(std::move(value)); return *this;}
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline const Aws::Vector& GetVendedS3Path() const{ return m_vendedS3Path; }
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline void SetVendedS3Path(const Aws::Vector& value) { m_vendedS3Path = value; }
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline void SetVendedS3Path(Aws::Vector&& value) { m_vendedS3Path = std::move(value); }
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline GetTemporaryGlueTableCredentialsResult& WithVendedS3Path(const Aws::Vector& value) { SetVendedS3Path(value); return *this;}
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline GetTemporaryGlueTableCredentialsResult& WithVendedS3Path(Aws::Vector&& value) { SetVendedS3Path(std::move(value)); return *this;}
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline GetTemporaryGlueTableCredentialsResult& AddVendedS3Path(const Aws::String& value) { m_vendedS3Path.push_back(value); return *this; }
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline GetTemporaryGlueTableCredentialsResult& AddVendedS3Path(Aws::String&& value) { m_vendedS3Path.push_back(std::move(value)); return *this; }
+
+ /**
+ * The Amazon S3 path for the temporary credentials.
+ */
+ inline GetTemporaryGlueTableCredentialsResult& AddVendedS3Path(const char* value) { m_vendedS3Path.push_back(value); return *this; }
+
+
inline const Aws::String& GetRequestId() const{ return m_requestId; }
@@ -198,6 +240,8 @@ namespace Model
Aws::Utils::DateTime m_expiration;
+ Aws::Vector m_vendedS3Path;
+
Aws::String m_requestId;
};
diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/QuerySessionContext.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/QuerySessionContext.h
new file mode 100644
index 00000000000..f11656bc16c
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/QuerySessionContext.h
@@ -0,0 +1,292 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace LakeFormation
+{
+namespace Model
+{
+
+ /**
+ * A structure used as a protocol between query engines and Lake Formation or
+ * Glue. Contains both a Lake Formation generated authorization identifier and
+ * information from the request's authorization context.
See Also:
+ * AWS
+ * API Reference
+ */
+ class QuerySessionContext
+ {
+ public:
+ AWS_LAKEFORMATION_API QuerySessionContext();
+ AWS_LAKEFORMATION_API QuerySessionContext(Aws::Utils::Json::JsonView jsonValue);
+ AWS_LAKEFORMATION_API QuerySessionContext& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_LAKEFORMATION_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline const Aws::String& GetQueryId() const{ return m_queryId; }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); }
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline QuerySessionContext& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;}
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline QuerySessionContext& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;}
+
+ /**
+ * A unique identifier generated by the query engine for the query.
+ */
+ inline QuerySessionContext& WithQueryId(const char* value) { SetQueryId(value); return *this;}
+
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline const Aws::Utils::DateTime& GetQueryStartTime() const{ return m_queryStartTime; }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline bool QueryStartTimeHasBeenSet() const { return m_queryStartTimeHasBeenSet; }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline void SetQueryStartTime(const Aws::Utils::DateTime& value) { m_queryStartTimeHasBeenSet = true; m_queryStartTime = value; }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline void SetQueryStartTime(Aws::Utils::DateTime&& value) { m_queryStartTimeHasBeenSet = true; m_queryStartTime = std::move(value); }
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline QuerySessionContext& WithQueryStartTime(const Aws::Utils::DateTime& value) { SetQueryStartTime(value); return *this;}
+
+ /**
+ * A timestamp provided by the query engine for when the query started.
+ */
+ inline QuerySessionContext& WithQueryStartTime(Aws::Utils::DateTime&& value) { SetQueryStartTime(std::move(value)); return *this;}
+
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline const Aws::String& GetClusterId() const{ return m_clusterId; }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); }
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline QuerySessionContext& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;}
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline QuerySessionContext& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;}
+
+ /**
+ * An identifier string for the consumer cluster.
+ */
+ inline QuerySessionContext& WithClusterId(const char* value) { SetClusterId(value); return *this;}
+
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline const Aws::String& GetQueryAuthorizationId() const{ return m_queryAuthorizationId; }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline bool QueryAuthorizationIdHasBeenSet() const { return m_queryAuthorizationIdHasBeenSet; }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline void SetQueryAuthorizationId(const Aws::String& value) { m_queryAuthorizationIdHasBeenSet = true; m_queryAuthorizationId = value; }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline void SetQueryAuthorizationId(Aws::String&& value) { m_queryAuthorizationIdHasBeenSet = true; m_queryAuthorizationId = std::move(value); }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline void SetQueryAuthorizationId(const char* value) { m_queryAuthorizationIdHasBeenSet = true; m_queryAuthorizationId.assign(value); }
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline QuerySessionContext& WithQueryAuthorizationId(const Aws::String& value) { SetQueryAuthorizationId(value); return *this;}
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline QuerySessionContext& WithQueryAuthorizationId(Aws::String&& value) { SetQueryAuthorizationId(std::move(value)); return *this;}
+
+ /**
+ * A cryptographically generated query identifier generated by Glue or Lake
+ * Formation.
+ */
+ inline QuerySessionContext& WithQueryAuthorizationId(const char* value) { SetQueryAuthorizationId(value); return *this;}
+
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline const Aws::Map& GetAdditionalContext() const{ return m_additionalContext; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline bool AdditionalContextHasBeenSet() const { return m_additionalContextHasBeenSet; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline void SetAdditionalContext(const Aws::Map& value) { m_additionalContextHasBeenSet = true; m_additionalContext = value; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline void SetAdditionalContext(Aws::Map&& value) { m_additionalContextHasBeenSet = true; m_additionalContext = std::move(value); }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& WithAdditionalContext(const Aws::Map& value) { SetAdditionalContext(value); return *this;}
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& WithAdditionalContext(Aws::Map&& value) { SetAdditionalContext(std::move(value)); return *this;}
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const Aws::String& key, const Aws::String& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, value); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(Aws::String&& key, const Aws::String& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(std::move(key), value); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const Aws::String& key, Aws::String&& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, std::move(value)); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(Aws::String&& key, Aws::String&& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(std::move(key), std::move(value)); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const char* key, Aws::String&& value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, std::move(value)); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(Aws::String&& key, const char* value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(std::move(key), value); return *this; }
+
+ /**
+ * An opaque string-string map passed by the query engine.
+ */
+ inline QuerySessionContext& AddAdditionalContext(const char* key, const char* value) { m_additionalContextHasBeenSet = true; m_additionalContext.emplace(key, value); return *this; }
+
+ private:
+
+ Aws::String m_queryId;
+ bool m_queryIdHasBeenSet = false;
+
+ Aws::Utils::DateTime m_queryStartTime;
+ bool m_queryStartTimeHasBeenSet = false;
+
+ Aws::String m_clusterId;
+ bool m_clusterIdHasBeenSet = false;
+
+ Aws::String m_queryAuthorizationId;
+ bool m_queryAuthorizationIdHasBeenSet = false;
+
+ Aws::Map m_additionalContext;
+ bool m_additionalContextHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace LakeFormation
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsRequest.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsRequest.cpp
index 567cd16a4be..af7ee9abf53 100644
--- a/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsRequest.cpp
+++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsRequest.cpp
@@ -18,7 +18,9 @@ GetTemporaryGlueTableCredentialsRequest::GetTemporaryGlueTableCredentialsRequest
m_durationSeconds(0),
m_durationSecondsHasBeenSet(false),
m_auditContextHasBeenSet(false),
- m_supportedPermissionTypesHasBeenSet(false)
+ m_supportedPermissionTypesHasBeenSet(false),
+ m_s3PathHasBeenSet(false),
+ m_querySessionContextHasBeenSet(false)
{
}
@@ -66,6 +68,18 @@ Aws::String GetTemporaryGlueTableCredentialsRequest::SerializePayload() const
}
+ if(m_s3PathHasBeenSet)
+ {
+ payload.WithString("S3Path", m_s3Path);
+
+ }
+
+ if(m_querySessionContextHasBeenSet)
+ {
+ payload.WithObject("QuerySessionContext", m_querySessionContext.Jsonize());
+
+ }
+
return payload.View().WriteReadable();
}
diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsResult.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsResult.cpp
index e8ff114a915..6194e616655 100644
--- a/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsResult.cpp
+++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/GetTemporaryGlueTableCredentialsResult.cpp
@@ -53,6 +53,15 @@ GetTemporaryGlueTableCredentialsResult& GetTemporaryGlueTableCredentialsResult::
}
+ if(jsonValue.ValueExists("VendedS3Path"))
+ {
+ Aws::Utils::Array vendedS3PathJsonList = jsonValue.GetArray("VendedS3Path");
+ for(unsigned vendedS3PathIndex = 0; vendedS3PathIndex < vendedS3PathJsonList.GetLength(); ++vendedS3PathIndex)
+ {
+ m_vendedS3Path.push_back(vendedS3PathJsonList[vendedS3PathIndex].AsString());
+ }
+ }
+
const auto& headers = result.GetHeaderValueCollection();
const auto& requestIdIter = headers.find("x-amzn-requestid");
diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/QuerySessionContext.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/QuerySessionContext.cpp
new file mode 100644
index 00000000000..5148f69f715
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/QuerySessionContext.cpp
@@ -0,0 +1,126 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace LakeFormation
+{
+namespace Model
+{
+
+QuerySessionContext::QuerySessionContext() :
+ m_queryIdHasBeenSet(false),
+ m_queryStartTimeHasBeenSet(false),
+ m_clusterIdHasBeenSet(false),
+ m_queryAuthorizationIdHasBeenSet(false),
+ m_additionalContextHasBeenSet(false)
+{
+}
+
+QuerySessionContext::QuerySessionContext(JsonView jsonValue) :
+ m_queryIdHasBeenSet(false),
+ m_queryStartTimeHasBeenSet(false),
+ m_clusterIdHasBeenSet(false),
+ m_queryAuthorizationIdHasBeenSet(false),
+ m_additionalContextHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+QuerySessionContext& QuerySessionContext::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("QueryId"))
+ {
+ m_queryId = jsonValue.GetString("QueryId");
+
+ m_queryIdHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("QueryStartTime"))
+ {
+ m_queryStartTime = jsonValue.GetDouble("QueryStartTime");
+
+ m_queryStartTimeHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("ClusterId"))
+ {
+ m_clusterId = jsonValue.GetString("ClusterId");
+
+ m_clusterIdHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("QueryAuthorizationId"))
+ {
+ m_queryAuthorizationId = jsonValue.GetString("QueryAuthorizationId");
+
+ m_queryAuthorizationIdHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("AdditionalContext"))
+ {
+ Aws::Map additionalContextJsonMap = jsonValue.GetObject("AdditionalContext").GetAllObjects();
+ for(auto& additionalContextItem : additionalContextJsonMap)
+ {
+ m_additionalContext[additionalContextItem.first] = additionalContextItem.second.AsString();
+ }
+ m_additionalContextHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue QuerySessionContext::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_queryIdHasBeenSet)
+ {
+ payload.WithString("QueryId", m_queryId);
+
+ }
+
+ if(m_queryStartTimeHasBeenSet)
+ {
+ payload.WithDouble("QueryStartTime", m_queryStartTime.SecondsWithMSPrecision());
+ }
+
+ if(m_clusterIdHasBeenSet)
+ {
+ payload.WithString("ClusterId", m_clusterId);
+
+ }
+
+ if(m_queryAuthorizationIdHasBeenSet)
+ {
+ payload.WithString("QueryAuthorizationId", m_queryAuthorizationId);
+
+ }
+
+ if(m_additionalContextHasBeenSet)
+ {
+ JsonValue additionalContextJsonMap;
+ for(auto& additionalContextItem : m_additionalContext)
+ {
+ additionalContextJsonMap.WithString(additionalContextItem.first, additionalContextItem.second);
+ }
+ payload.WithObject("AdditionalContext", std::move(additionalContextJsonMap));
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace LakeFormation
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h
index ec8d348cc35..6075d6ab577 100644
--- a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h
@@ -465,6 +465,32 @@ namespace MediaConnect
return SubmitAsync(&MediaConnectClient::DescribeFlow, request, handler, context);
}
+ /**
+ * Displays details of the flow's source stream. The response contains information
+ * about the contents of the stream and its programs.See Also:
AWS
+ * API Reference
+ */
+ virtual Model::DescribeFlowSourceMetadataOutcome DescribeFlowSourceMetadata(const Model::DescribeFlowSourceMetadataRequest& request) const;
+
+ /**
+ * A Callable wrapper for DescribeFlowSourceMetadata that returns a future to the operation so that it can be executed in parallel to other requests.
+ */
+ template
+ Model::DescribeFlowSourceMetadataOutcomeCallable DescribeFlowSourceMetadataCallable(const DescribeFlowSourceMetadataRequestT& request) const
+ {
+ return SubmitCallable(&MediaConnectClient::DescribeFlowSourceMetadata, request);
+ }
+
+ /**
+ * An Async wrapper for DescribeFlowSourceMetadata that queues the request into a thread executor and triggers associated callback when operation has finished.
+ */
+ template
+ void DescribeFlowSourceMetadataAsync(const DescribeFlowSourceMetadataRequestT& request, const DescribeFlowSourceMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
+ {
+ return SubmitAsync(&MediaConnectClient::DescribeFlowSourceMetadata, request, handler, context);
+ }
+
/**
* Displays the details of a gateway. The response includes the gateway ARN, name,
* and CIDR blocks, as well as details about the networks.See Also:
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h
index 0309935aab7..b807dfe72b5 100644
--- a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h
@@ -33,6 +33,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -122,6 +123,7 @@ namespace Aws
class DeregisterGatewayInstanceRequest;
class DescribeBridgeRequest;
class DescribeFlowRequest;
+ class DescribeFlowSourceMetadataRequest;
class DescribeGatewayRequest;
class DescribeGatewayInstanceRequest;
class DescribeOfferingRequest;
@@ -175,6 +177,7 @@ namespace Aws
typedef Aws::Utils::Outcome DeregisterGatewayInstanceOutcome;
typedef Aws::Utils::Outcome DescribeBridgeOutcome;
typedef Aws::Utils::Outcome DescribeFlowOutcome;
+ typedef Aws::Utils::Outcome DescribeFlowSourceMetadataOutcome;
typedef Aws::Utils::Outcome DescribeGatewayOutcome;
typedef Aws::Utils::Outcome DescribeGatewayInstanceOutcome;
typedef Aws::Utils::Outcome DescribeOfferingOutcome;
@@ -228,6 +231,7 @@ namespace Aws
typedef std::future DeregisterGatewayInstanceOutcomeCallable;
typedef std::future DescribeBridgeOutcomeCallable;
typedef std::future DescribeFlowOutcomeCallable;
+ typedef std::future DescribeFlowSourceMetadataOutcomeCallable;
typedef std::future DescribeGatewayOutcomeCallable;
typedef std::future DescribeGatewayInstanceOutcomeCallable;
typedef std::future DescribeOfferingOutcomeCallable;
@@ -284,6 +288,7 @@ namespace Aws
typedef std::function&) > DeregisterGatewayInstanceResponseReceivedHandler;
typedef std::function&) > DescribeBridgeResponseReceivedHandler;
typedef std::function&) > DescribeFlowResponseReceivedHandler;
+ typedef std::function&) > DescribeFlowSourceMetadataResponseReceivedHandler;
typedef std::function&) > DescribeGatewayResponseReceivedHandler;
typedef std::function&) > DescribeGatewayInstanceResponseReceivedHandler;
typedef std::function&) > DescribeOfferingResponseReceivedHandler;
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/DescribeFlowSourceMetadataRequest.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/DescribeFlowSourceMetadataRequest.h
new file mode 100644
index 00000000000..3de41a2bb4f
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/DescribeFlowSourceMetadataRequest.h
@@ -0,0 +1,83 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace MediaConnect
+{
+namespace Model
+{
+
+ /**
+ */
+ class DescribeFlowSourceMetadataRequest : public MediaConnectRequest
+ {
+ public:
+ AWS_MEDIACONNECT_API DescribeFlowSourceMetadataRequest();
+
+ // Service request name is the Operation name which will send this request out,
+ // each operation should has unique request name, so that we can get operation's name from this request.
+ // Note: this is not true for response, multiple operations may have the same response name,
+ // so we can not get operation's name from response.
+ inline virtual const char* GetServiceRequestName() const override { return "DescribeFlowSourceMetadata"; }
+
+ AWS_MEDIACONNECT_API Aws::String SerializePayload() const override;
+
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline const Aws::String& GetFlowArn() const{ return m_flowArn; }
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline bool FlowArnHasBeenSet() const { return m_flowArnHasBeenSet; }
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline void SetFlowArn(const Aws::String& value) { m_flowArnHasBeenSet = true; m_flowArn = value; }
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline void SetFlowArn(Aws::String&& value) { m_flowArnHasBeenSet = true; m_flowArn = std::move(value); }
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline void SetFlowArn(const char* value) { m_flowArnHasBeenSet = true; m_flowArn.assign(value); }
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline DescribeFlowSourceMetadataRequest& WithFlowArn(const Aws::String& value) { SetFlowArn(value); return *this;}
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline DescribeFlowSourceMetadataRequest& WithFlowArn(Aws::String&& value) { SetFlowArn(std::move(value)); return *this;}
+
+ /**
+ * The Amazon Resource Name (ARN) of the flow.
+ */
+ inline DescribeFlowSourceMetadataRequest& WithFlowArn(const char* value) { SetFlowArn(value); return *this;}
+
+ private:
+
+ Aws::String m_flowArn;
+ bool m_flowArnHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/DescribeFlowSourceMetadataResult.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/DescribeFlowSourceMetadataResult.h
new file mode 100644
index 00000000000..392b28bb519
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/DescribeFlowSourceMetadataResult.h
@@ -0,0 +1,196 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+template
+class AmazonWebServiceResult;
+
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+} // namespace Json
+} // namespace Utils
+namespace MediaConnect
+{
+namespace Model
+{
+ class DescribeFlowSourceMetadataResult
+ {
+ public:
+ AWS_MEDIACONNECT_API DescribeFlowSourceMetadataResult();
+ AWS_MEDIACONNECT_API DescribeFlowSourceMetadataResult(const Aws::AmazonWebServiceResult& result);
+ AWS_MEDIACONNECT_API DescribeFlowSourceMetadataResult& operator=(const Aws::AmazonWebServiceResult& result);
+
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline const Aws::String& GetFlowArn() const{ return m_flowArn; }
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline void SetFlowArn(const Aws::String& value) { m_flowArn = value; }
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline void SetFlowArn(Aws::String&& value) { m_flowArn = std::move(value); }
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline void SetFlowArn(const char* value) { m_flowArn.assign(value); }
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline DescribeFlowSourceMetadataResult& WithFlowArn(const Aws::String& value) { SetFlowArn(value); return *this;}
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline DescribeFlowSourceMetadataResult& WithFlowArn(Aws::String&& value) { SetFlowArn(std::move(value)); return *this;}
+
+ /**
+ * The ARN of the flow that DescribeFlowSourceMetadata was performed on.
+ */
+ inline DescribeFlowSourceMetadataResult& WithFlowArn(const char* value) { SetFlowArn(value); return *this;}
+
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline const Aws::Vector& GetMessages() const{ return m_messages; }
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline void SetMessages(const Aws::Vector& value) { m_messages = value; }
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline void SetMessages(Aws::Vector&& value) { m_messages = std::move(value); }
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline DescribeFlowSourceMetadataResult& WithMessages(const Aws::Vector& value) { SetMessages(value); return *this;}
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline DescribeFlowSourceMetadataResult& WithMessages(Aws::Vector&& value) { SetMessages(std::move(value)); return *this;}
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline DescribeFlowSourceMetadataResult& AddMessages(const MessageDetail& value) { m_messages.push_back(value); return *this; }
+
+ /**
+ * Provides a status code and message regarding issues found with the flow source
+ * metadata.
+ */
+ inline DescribeFlowSourceMetadataResult& AddMessages(MessageDetail&& value) { m_messages.push_back(std::move(value)); return *this; }
+
+
+ /**
+ * The timestamp of the most recent change in metadata for this flow’s source.
+ */
+ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
+
+ /**
+ * The timestamp of the most recent change in metadata for this flow’s source.
+ */
+ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestamp = value; }
+
+ /**
+ * The timestamp of the most recent change in metadata for this flow’s source.
+ */
+ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestamp = std::move(value); }
+
+ /**
+ * The timestamp of the most recent change in metadata for this flow’s source.
+ */
+ inline DescribeFlowSourceMetadataResult& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
+
+ /**
+ * The timestamp of the most recent change in metadata for this flow’s source.
+ */
+ inline DescribeFlowSourceMetadataResult& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
+
+
+
+ inline const TransportMediaInfo& GetTransportMediaInfo() const{ return m_transportMediaInfo; }
+
+
+ inline void SetTransportMediaInfo(const TransportMediaInfo& value) { m_transportMediaInfo = value; }
+
+
+ inline void SetTransportMediaInfo(TransportMediaInfo&& value) { m_transportMediaInfo = std::move(value); }
+
+
+ inline DescribeFlowSourceMetadataResult& WithTransportMediaInfo(const TransportMediaInfo& value) { SetTransportMediaInfo(value); return *this;}
+
+
+ inline DescribeFlowSourceMetadataResult& WithTransportMediaInfo(TransportMediaInfo&& value) { SetTransportMediaInfo(std::move(value)); return *this;}
+
+
+
+ inline const Aws::String& GetRequestId() const{ return m_requestId; }
+
+
+ inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
+
+
+ inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
+
+
+ inline void SetRequestId(const char* value) { m_requestId.assign(value); }
+
+
+ inline DescribeFlowSourceMetadataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
+
+
+ inline DescribeFlowSourceMetadataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
+
+
+ inline DescribeFlowSourceMetadataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
+
+ private:
+
+ Aws::String m_flowArn;
+
+ Aws::Vector m_messages;
+
+ Aws::Utils::DateTime m_timestamp;
+
+ TransportMediaInfo m_transportMediaInfo;
+
+ Aws::String m_requestId;
+ };
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/FrameResolution.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/FrameResolution.h
new file mode 100644
index 00000000000..031ff87b5e2
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/FrameResolution.h
@@ -0,0 +1,90 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace MediaConnect
+{
+namespace Model
+{
+
+ /**
+ * The frame resolution used by the video stream.See Also:
AWS
+ * API Reference
+ */
+ class FrameResolution
+ {
+ public:
+ AWS_MEDIACONNECT_API FrameResolution();
+ AWS_MEDIACONNECT_API FrameResolution(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API FrameResolution& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * The number of pixels in the height of the video frame.
+ */
+ inline int GetFrameHeight() const{ return m_frameHeight; }
+
+ /**
+ * The number of pixels in the height of the video frame.
+ */
+ inline bool FrameHeightHasBeenSet() const { return m_frameHeightHasBeenSet; }
+
+ /**
+ * The number of pixels in the height of the video frame.
+ */
+ inline void SetFrameHeight(int value) { m_frameHeightHasBeenSet = true; m_frameHeight = value; }
+
+ /**
+ * The number of pixels in the height of the video frame.
+ */
+ inline FrameResolution& WithFrameHeight(int value) { SetFrameHeight(value); return *this;}
+
+
+ /**
+ * The number of pixels in the width of the video frame.
+ */
+ inline int GetFrameWidth() const{ return m_frameWidth; }
+
+ /**
+ * The number of pixels in the width of the video frame.
+ */
+ inline bool FrameWidthHasBeenSet() const { return m_frameWidthHasBeenSet; }
+
+ /**
+ * The number of pixels in the width of the video frame.
+ */
+ inline void SetFrameWidth(int value) { m_frameWidthHasBeenSet = true; m_frameWidth = value; }
+
+ /**
+ * The number of pixels in the width of the video frame.
+ */
+ inline FrameResolution& WithFrameWidth(int value) { SetFrameWidth(value); return *this;}
+
+ private:
+
+ int m_frameHeight;
+ bool m_frameHeightHasBeenSet = false;
+
+ int m_frameWidth;
+ bool m_frameWidthHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportMediaInfo.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportMediaInfo.h
new file mode 100644
index 00000000000..0ec8545ec71
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportMediaInfo.h
@@ -0,0 +1,90 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace MediaConnect
+{
+namespace Model
+{
+
+ /**
+ * The metadata of the transport stream in the current flow's source.See
+ * Also:
AWS
+ * API Reference
+ */
+ class TransportMediaInfo
+ {
+ public:
+ AWS_MEDIACONNECT_API TransportMediaInfo();
+ AWS_MEDIACONNECT_API TransportMediaInfo(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API TransportMediaInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline const Aws::Vector& GetPrograms() const{ return m_programs; }
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline bool ProgramsHasBeenSet() const { return m_programsHasBeenSet; }
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline void SetPrograms(const Aws::Vector& value) { m_programsHasBeenSet = true; m_programs = value; }
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline void SetPrograms(Aws::Vector&& value) { m_programsHasBeenSet = true; m_programs = std::move(value); }
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline TransportMediaInfo& WithPrograms(const Aws::Vector& value) { SetPrograms(value); return *this;}
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline TransportMediaInfo& WithPrograms(Aws::Vector&& value) { SetPrograms(std::move(value)); return *this;}
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline TransportMediaInfo& AddPrograms(const TransportStreamProgram& value) { m_programsHasBeenSet = true; m_programs.push_back(value); return *this; }
+
+ /**
+ * The list of transport stream programs in the current flow's source.
+ */
+ inline TransportMediaInfo& AddPrograms(TransportStreamProgram&& value) { m_programsHasBeenSet = true; m_programs.push_back(std::move(value)); return *this; }
+
+ private:
+
+ Aws::Vector m_programs;
+ bool m_programsHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportStream.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportStream.h
new file mode 100644
index 00000000000..948dcb15f3c
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportStream.h
@@ -0,0 +1,295 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace MediaConnect
+{
+namespace Model
+{
+
+ /**
+ * The metadata of an elementary transport stream.See Also:
AWS
+ * API Reference
+ */
+ class TransportStream
+ {
+ public:
+ AWS_MEDIACONNECT_API TransportStream();
+ AWS_MEDIACONNECT_API TransportStream(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API TransportStream& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * The number of channels in the audio stream.
+ */
+ inline int GetChannels() const{ return m_channels; }
+
+ /**
+ * The number of channels in the audio stream.
+ */
+ inline bool ChannelsHasBeenSet() const { return m_channelsHasBeenSet; }
+
+ /**
+ * The number of channels in the audio stream.
+ */
+ inline void SetChannels(int value) { m_channelsHasBeenSet = true; m_channels = value; }
+
+ /**
+ * The number of channels in the audio stream.
+ */
+ inline TransportStream& WithChannels(int value) { SetChannels(value); return *this;}
+
+
+ /**
+ * The codec used by the stream.
+ */
+ inline const Aws::String& GetCodec() const{ return m_codec; }
+
+ /**
+ * The codec used by the stream.
+ */
+ inline bool CodecHasBeenSet() const { return m_codecHasBeenSet; }
+
+ /**
+ * The codec used by the stream.
+ */
+ inline void SetCodec(const Aws::String& value) { m_codecHasBeenSet = true; m_codec = value; }
+
+ /**
+ * The codec used by the stream.
+ */
+ inline void SetCodec(Aws::String&& value) { m_codecHasBeenSet = true; m_codec = std::move(value); }
+
+ /**
+ * The codec used by the stream.
+ */
+ inline void SetCodec(const char* value) { m_codecHasBeenSet = true; m_codec.assign(value); }
+
+ /**
+ * The codec used by the stream.
+ */
+ inline TransportStream& WithCodec(const Aws::String& value) { SetCodec(value); return *this;}
+
+ /**
+ * The codec used by the stream.
+ */
+ inline TransportStream& WithCodec(Aws::String&& value) { SetCodec(std::move(value)); return *this;}
+
+ /**
+ * The codec used by the stream.
+ */
+ inline TransportStream& WithCodec(const char* value) { SetCodec(value); return *this;}
+
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline const Aws::String& GetFrameRate() const{ return m_frameRate; }
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline bool FrameRateHasBeenSet() const { return m_frameRateHasBeenSet; }
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline void SetFrameRate(const Aws::String& value) { m_frameRateHasBeenSet = true; m_frameRate = value; }
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline void SetFrameRate(Aws::String&& value) { m_frameRateHasBeenSet = true; m_frameRate = std::move(value); }
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline void SetFrameRate(const char* value) { m_frameRateHasBeenSet = true; m_frameRate.assign(value); }
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline TransportStream& WithFrameRate(const Aws::String& value) { SetFrameRate(value); return *this;}
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline TransportStream& WithFrameRate(Aws::String&& value) { SetFrameRate(std::move(value)); return *this;}
+
+ /**
+ * The frame rate used by the video stream.
+ */
+ inline TransportStream& WithFrameRate(const char* value) { SetFrameRate(value); return *this;}
+
+
+
+ inline const FrameResolution& GetFrameResolution() const{ return m_frameResolution; }
+
+
+ inline bool FrameResolutionHasBeenSet() const { return m_frameResolutionHasBeenSet; }
+
+
+ inline void SetFrameResolution(const FrameResolution& value) { m_frameResolutionHasBeenSet = true; m_frameResolution = value; }
+
+
+ inline void SetFrameResolution(FrameResolution&& value) { m_frameResolutionHasBeenSet = true; m_frameResolution = std::move(value); }
+
+
+ inline TransportStream& WithFrameResolution(const FrameResolution& value) { SetFrameResolution(value); return *this;}
+
+
+ inline TransportStream& WithFrameResolution(FrameResolution&& value) { SetFrameResolution(std::move(value)); return *this;}
+
+
+ /**
+ * The Packet ID (PID) as it is reported in the Program Map Table.
+ */
+ inline int GetPid() const{ return m_pid; }
+
+ /**
+ * The Packet ID (PID) as it is reported in the Program Map Table.
+ */
+ inline bool PidHasBeenSet() const { return m_pidHasBeenSet; }
+
+ /**
+ * The Packet ID (PID) as it is reported in the Program Map Table.
+ */
+ inline void SetPid(int value) { m_pidHasBeenSet = true; m_pid = value; }
+
+ /**
+ * The Packet ID (PID) as it is reported in the Program Map Table.
+ */
+ inline TransportStream& WithPid(int value) { SetPid(value); return *this;}
+
+
+ /**
+ * The sample rate used by the audio stream.
+ */
+ inline int GetSampleRate() const{ return m_sampleRate; }
+
+ /**
+ * The sample rate used by the audio stream.
+ */
+ inline bool SampleRateHasBeenSet() const { return m_sampleRateHasBeenSet; }
+
+ /**
+ * The sample rate used by the audio stream.
+ */
+ inline void SetSampleRate(int value) { m_sampleRateHasBeenSet = true; m_sampleRate = value; }
+
+ /**
+ * The sample rate used by the audio stream.
+ */
+ inline TransportStream& WithSampleRate(int value) { SetSampleRate(value); return *this;}
+
+
+ /**
+ * The sample bit size used by the audio stream.
+ */
+ inline int GetSampleSize() const{ return m_sampleSize; }
+
+ /**
+ * The sample bit size used by the audio stream.
+ */
+ inline bool SampleSizeHasBeenSet() const { return m_sampleSizeHasBeenSet; }
+
+ /**
+ * The sample bit size used by the audio stream.
+ */
+ inline void SetSampleSize(int value) { m_sampleSizeHasBeenSet = true; m_sampleSize = value; }
+
+ /**
+ * The sample bit size used by the audio stream.
+ */
+ inline TransportStream& WithSampleSize(int value) { SetSampleSize(value); return *this;}
+
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline const Aws::String& GetStreamType() const{ return m_streamType; }
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline bool StreamTypeHasBeenSet() const { return m_streamTypeHasBeenSet; }
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline void SetStreamType(const Aws::String& value) { m_streamTypeHasBeenSet = true; m_streamType = value; }
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline void SetStreamType(Aws::String&& value) { m_streamTypeHasBeenSet = true; m_streamType = std::move(value); }
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline void SetStreamType(const char* value) { m_streamTypeHasBeenSet = true; m_streamType.assign(value); }
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline TransportStream& WithStreamType(const Aws::String& value) { SetStreamType(value); return *this;}
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline TransportStream& WithStreamType(Aws::String&& value) { SetStreamType(std::move(value)); return *this;}
+
+ /**
+ * The Stream Type as it is reported in the Program Map Table.
+ */
+ inline TransportStream& WithStreamType(const char* value) { SetStreamType(value); return *this;}
+
+ private:
+
+ int m_channels;
+ bool m_channelsHasBeenSet = false;
+
+ Aws::String m_codec;
+ bool m_codecHasBeenSet = false;
+
+ Aws::String m_frameRate;
+ bool m_frameRateHasBeenSet = false;
+
+ FrameResolution m_frameResolution;
+ bool m_frameResolutionHasBeenSet = false;
+
+ int m_pid;
+ bool m_pidHasBeenSet = false;
+
+ int m_sampleRate;
+ bool m_sampleRateHasBeenSet = false;
+
+ int m_sampleSize;
+ bool m_sampleSizeHasBeenSet = false;
+
+ Aws::String m_streamType;
+ bool m_streamTypeHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportStreamProgram.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportStreamProgram.h
new file mode 100644
index 00000000000..d9cb22c99e6
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/model/TransportStreamProgram.h
@@ -0,0 +1,218 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace Utils
+{
+namespace Json
+{
+ class JsonValue;
+ class JsonView;
+} // namespace Json
+} // namespace Utils
+namespace MediaConnect
+{
+namespace Model
+{
+
+ /**
+ * The metadata of a single transport stream program.See Also:
AWS
+ * API Reference
+ */
+ class TransportStreamProgram
+ {
+ public:
+ AWS_MEDIACONNECT_API TransportStreamProgram();
+ AWS_MEDIACONNECT_API TransportStreamProgram(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API TransportStreamProgram& operator=(Aws::Utils::Json::JsonView jsonValue);
+ AWS_MEDIACONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
+
+
+ /**
+ * The Program Clock Reference (PCR) Packet ID (PID) as it is reported in the
+ * Program Association Table.
+ */
+ inline int GetPcrPid() const{ return m_pcrPid; }
+
+ /**
+ * The Program Clock Reference (PCR) Packet ID (PID) as it is reported in the
+ * Program Association Table.
+ */
+ inline bool PcrPidHasBeenSet() const { return m_pcrPidHasBeenSet; }
+
+ /**
+ * The Program Clock Reference (PCR) Packet ID (PID) as it is reported in the
+ * Program Association Table.
+ */
+ inline void SetPcrPid(int value) { m_pcrPidHasBeenSet = true; m_pcrPid = value; }
+
+ /**
+ * The Program Clock Reference (PCR) Packet ID (PID) as it is reported in the
+ * Program Association Table.
+ */
+ inline TransportStreamProgram& WithPcrPid(int value) { SetPcrPid(value); return *this;}
+
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline const Aws::String& GetProgramName() const{ return m_programName; }
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline bool ProgramNameHasBeenSet() const { return m_programNameHasBeenSet; }
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline void SetProgramName(const Aws::String& value) { m_programNameHasBeenSet = true; m_programName = value; }
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline void SetProgramName(Aws::String&& value) { m_programNameHasBeenSet = true; m_programName = std::move(value); }
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline void SetProgramName(const char* value) { m_programNameHasBeenSet = true; m_programName.assign(value); }
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline TransportStreamProgram& WithProgramName(const Aws::String& value) { SetProgramName(value); return *this;}
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline TransportStreamProgram& WithProgramName(Aws::String&& value) { SetProgramName(std::move(value)); return *this;}
+
+ /**
+ * The program name as it is reported in the Program Association Table.
+ */
+ inline TransportStreamProgram& WithProgramName(const char* value) { SetProgramName(value); return *this;}
+
+
+ /**
+ * The program number as it is reported in the Program Association Table.
+ */
+ inline int GetProgramNumber() const{ return m_programNumber; }
+
+ /**
+ * The program number as it is reported in the Program Association Table.
+ */
+ inline bool ProgramNumberHasBeenSet() const { return m_programNumberHasBeenSet; }
+
+ /**
+ * The program number as it is reported in the Program Association Table.
+ */
+ inline void SetProgramNumber(int value) { m_programNumberHasBeenSet = true; m_programNumber = value; }
+
+ /**
+ * The program number as it is reported in the Program Association Table.
+ */
+ inline TransportStreamProgram& WithProgramNumber(int value) { SetProgramNumber(value); return *this;}
+
+
+ /**
+ * The program Packet ID (PID) as it is reported in the Program Association Table.
+ */
+ inline int GetProgramPid() const{ return m_programPid; }
+
+ /**
+ * The program Packet ID (PID) as it is reported in the Program Association Table.
+ */
+ inline bool ProgramPidHasBeenSet() const { return m_programPidHasBeenSet; }
+
+ /**
+ * The program Packet ID (PID) as it is reported in the Program Association Table.
+ */
+ inline void SetProgramPid(int value) { m_programPidHasBeenSet = true; m_programPid = value; }
+
+ /**
+ * The program Packet ID (PID) as it is reported in the Program Association Table.
+ */
+ inline TransportStreamProgram& WithProgramPid(int value) { SetProgramPid(value); return *this;}
+
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline const Aws::Vector& GetStreams() const{ return m_streams; }
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline bool StreamsHasBeenSet() const { return m_streamsHasBeenSet; }
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline void SetStreams(const Aws::Vector& value) { m_streamsHasBeenSet = true; m_streams = value; }
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline void SetStreams(Aws::Vector&& value) { m_streamsHasBeenSet = true; m_streams = std::move(value); }
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline TransportStreamProgram& WithStreams(const Aws::Vector& value) { SetStreams(value); return *this;}
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline TransportStreamProgram& WithStreams(Aws::Vector&& value) { SetStreams(std::move(value)); return *this;}
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline TransportStreamProgram& AddStreams(const TransportStream& value) { m_streamsHasBeenSet = true; m_streams.push_back(value); return *this; }
+
+ /**
+ * The list of elementary transport streams in the program. The list includes
+ * video, audio, and data streams.
+ */
+ inline TransportStreamProgram& AddStreams(TransportStream&& value) { m_streamsHasBeenSet = true; m_streams.push_back(std::move(value)); return *this; }
+
+ private:
+
+ int m_pcrPid;
+ bool m_pcrPidHasBeenSet = false;
+
+ Aws::String m_programName;
+ bool m_programNameHasBeenSet = false;
+
+ int m_programNumber;
+ bool m_programNumberHasBeenSet = false;
+
+ int m_programPid;
+ bool m_programPidHasBeenSet = false;
+
+ Aws::Vector m_streams;
+ bool m_streamsHasBeenSet = false;
+ };
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp
index 8f68d2e9ac4..39a4de7fb5a 100644
--- a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp
@@ -36,6 +36,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -687,6 +688,40 @@ DescribeFlowOutcome MediaConnectClient::DescribeFlow(const DescribeFlowRequest&
{{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}});
}
+DescribeFlowSourceMetadataOutcome MediaConnectClient::DescribeFlowSourceMetadata(const DescribeFlowSourceMetadataRequest& request) const
+{
+ AWS_OPERATION_GUARD(DescribeFlowSourceMetadata);
+ AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeFlowSourceMetadata, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE);
+ if (!request.FlowArnHasBeenSet())
+ {
+ AWS_LOGSTREAM_ERROR("DescribeFlowSourceMetadata", "Required field: FlowArn, is not set");
+ return DescribeFlowSourceMetadataOutcome(Aws::Client::AWSError(MediaConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FlowArn]", false));
+ }
+ AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeFlowSourceMetadata, CoreErrors, CoreErrors::NOT_INITIALIZED);
+ auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {});
+ auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {});
+ AWS_OPERATION_CHECK_PTR(meter, DescribeFlowSourceMetadata, CoreErrors, CoreErrors::NOT_INITIALIZED);
+ auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeFlowSourceMetadata",
+ {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }},
+ smithy::components::tracing::SpanKind::CLIENT);
+ return TracingUtils::MakeCallWithTiming(
+ [&]()-> DescribeFlowSourceMetadataOutcome {
+ auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming(
+ [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); },
+ TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC,
+ *meter,
+ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}});
+ AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeFlowSourceMetadata, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage());
+ endpointResolutionOutcome.GetResult().AddPathSegments("/v1/flows/");
+ endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFlowArn());
+ endpointResolutionOutcome.GetResult().AddPathSegments("/source-metadata");
+ return DescribeFlowSourceMetadataOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
+ },
+ TracingUtils::SMITHY_CLIENT_DURATION_METRIC,
+ *meter,
+ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}});
+}
+
DescribeGatewayOutcome MediaConnectClient::DescribeGateway(const DescribeGatewayRequest& request) const
{
AWS_OPERATION_GUARD(DescribeGateway);
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointRules.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointRules.cpp
index 042e6ce5194..b313cb54c63 100644
--- a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointRules.cpp
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointRules.cpp
@@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{
',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s',
'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"',
'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n',
-'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',
-',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',
-'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r',
-'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r',
-'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o',
-'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s',
-'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p',
-'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"',
-'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e',
-'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':',
-'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"',
-'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a',
-'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o',
-'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r',
-'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o',
-'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{',
-'"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',',
-'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',
-':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',
-',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s',
-'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i',
-'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u',
-'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n',
-'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':',
-'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g',
-'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t',
-'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o',
+'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o',
'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n',
'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U',
-'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o',
-'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e',
-'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',
-']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[',
-'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o',
-'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',',
-'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{',
-'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',',
-'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':',
-'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t',
-'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v',
-'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l',
-'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',
-']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',
-':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o',
-'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','e','d','i',
-'a','c','o','n','n','e','c','t','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P',
-'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D',
-'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{',
-'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e',
-'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',
-':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a',
-'l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t',
-'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u',
-'p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',
-':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',
-':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"',
-'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',',
-'t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u',
-'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n',
-'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':',
-'[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r',
-'g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s',
-'u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',']',
-',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{',
-'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t',
-'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','e','d','i','a','c','o',
-'n','n','e','c','t','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t',
-'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"',
-'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':',
-'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',',
-'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':',
-'"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',
-' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o',
-'r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',
-'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b',
-'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r',
-'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']',
-'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':',
-'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o',
-'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',
-',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[',
-'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',
-',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',
-',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{',
-'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t',
-'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','e','d','i','a','c','o',
-'n','n','e','c','t','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n',
-'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x',
-'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e',
-'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"',
-'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r',
-'o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',
-' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ',
-'n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t',
-'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i',
-'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',
-':','"','h','t','t','p','s',':','/','/','m','e','d','i','a','c','o','n','n','e','c','t','.','{','R',
-'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d',
-'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{',
+'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':',
+'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F',
+'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a',
+'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':',
+'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{',
+'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g',
+'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"',
+'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i',
+'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c',
+'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',
+' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e',
+'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"',
+'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"',
+'E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{',
'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e',
-'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n',
+'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',
+',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s',
+'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i',
+'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t',
+'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i',
+'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o',
+'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R',
+'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i',
+'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u',
+'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F',
+'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e',
+'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':',
+'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"',
+'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"',
+'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v',
+'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"',
+'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R',
+'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']',
+'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"',
+'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t',
+'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t',
+'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l',
+'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o',
+'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{',
+'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','e','d','i','a','c','o','n','n','e',
+'c','t','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i',
+'o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f',
+'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a',
+'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n',
+'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n',
+'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',
+' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e',
+'d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e',
+'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h',
+'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',
+':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{',
+'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g',
+'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u',
+'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n',
+'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',
+',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',',
+'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n',
+'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',
+',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i',
+'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r',
+'l','"',':','"','h','t','t','p','s',':','/','/','m','e','d','i','a','c','o','n','n','e','c','t','-',
+'f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R',
+'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r',
+'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t',
+'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':',
+'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',',
+'"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ',
+'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n',
+'o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"',
+'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{',
+'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l',
+'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',
+':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',',
+'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{',
+'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g',
+'v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',',
+'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n',
+'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a',
+'c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i',
+'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r',
+'l','"',':','"','h','t','t','p','s',':','/','/','m','e','d','i','a','c','o','n','n','e','c','t','.',
+'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t',
+'#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r',
+'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}',
+'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y',
+'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',
+':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',
+' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i',
+'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S',
+'t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t',
+'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s',
+'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h',
+'t','t','p','s',':','/','/','m','e','d','i','a','c','o','n','n','e','c','t','.','{','R','e','g','i',
+'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S',
+'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"',
+'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p',
+'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"',
+'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n',
's','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o',
'n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i',
'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0'
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/model/DescribeFlowSourceMetadataRequest.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/model/DescribeFlowSourceMetadataRequest.cpp
new file mode 100644
index 00000000000..a0c410774f5
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/model/DescribeFlowSourceMetadataRequest.cpp
@@ -0,0 +1,27 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::MediaConnect::Model;
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+DescribeFlowSourceMetadataRequest::DescribeFlowSourceMetadataRequest() :
+ m_flowArnHasBeenSet(false)
+{
+}
+
+Aws::String DescribeFlowSourceMetadataRequest::SerializePayload() const
+{
+ return {};
+}
+
+
+
+
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/model/DescribeFlowSourceMetadataResult.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/model/DescribeFlowSourceMetadataResult.cpp
new file mode 100644
index 00000000000..d9164579359
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/model/DescribeFlowSourceMetadataResult.cpp
@@ -0,0 +1,69 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+
+using namespace Aws::MediaConnect::Model;
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+using namespace Aws;
+
+DescribeFlowSourceMetadataResult::DescribeFlowSourceMetadataResult()
+{
+}
+
+DescribeFlowSourceMetadataResult::DescribeFlowSourceMetadataResult(const Aws::AmazonWebServiceResult& result)
+{
+ *this = result;
+}
+
+DescribeFlowSourceMetadataResult& DescribeFlowSourceMetadataResult::operator =(const Aws::AmazonWebServiceResult& result)
+{
+ JsonView jsonValue = result.GetPayload().View();
+ if(jsonValue.ValueExists("flowArn"))
+ {
+ m_flowArn = jsonValue.GetString("flowArn");
+
+ }
+
+ if(jsonValue.ValueExists("messages"))
+ {
+ Aws::Utils::Array messagesJsonList = jsonValue.GetArray("messages");
+ for(unsigned messagesIndex = 0; messagesIndex < messagesJsonList.GetLength(); ++messagesIndex)
+ {
+ m_messages.push_back(messagesJsonList[messagesIndex].AsObject());
+ }
+ }
+
+ if(jsonValue.ValueExists("timestamp"))
+ {
+ m_timestamp = jsonValue.GetString("timestamp");
+
+ }
+
+ if(jsonValue.ValueExists("transportMediaInfo"))
+ {
+ m_transportMediaInfo = jsonValue.GetObject("transportMediaInfo");
+
+ }
+
+
+ const auto& headers = result.GetHeaderValueCollection();
+ const auto& requestIdIter = headers.find("x-amzn-requestid");
+ if(requestIdIter != headers.end())
+ {
+ m_requestId = requestIdIter->second;
+ }
+
+
+ return *this;
+}
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/model/FrameResolution.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/model/FrameResolution.cpp
new file mode 100644
index 00000000000..2907e34005c
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/model/FrameResolution.cpp
@@ -0,0 +1,78 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace MediaConnect
+{
+namespace Model
+{
+
+FrameResolution::FrameResolution() :
+ m_frameHeight(0),
+ m_frameHeightHasBeenSet(false),
+ m_frameWidth(0),
+ m_frameWidthHasBeenSet(false)
+{
+}
+
+FrameResolution::FrameResolution(JsonView jsonValue) :
+ m_frameHeight(0),
+ m_frameHeightHasBeenSet(false),
+ m_frameWidth(0),
+ m_frameWidthHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+FrameResolution& FrameResolution::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("frameHeight"))
+ {
+ m_frameHeight = jsonValue.GetInteger("frameHeight");
+
+ m_frameHeightHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("frameWidth"))
+ {
+ m_frameWidth = jsonValue.GetInteger("frameWidth");
+
+ m_frameWidthHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue FrameResolution::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_frameHeightHasBeenSet)
+ {
+ payload.WithInteger("frameHeight", m_frameHeight);
+
+ }
+
+ if(m_frameWidthHasBeenSet)
+ {
+ payload.WithInteger("frameWidth", m_frameWidth);
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportMediaInfo.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportMediaInfo.cpp
new file mode 100644
index 00000000000..9a07a6cfd4c
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportMediaInfo.cpp
@@ -0,0 +1,67 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace MediaConnect
+{
+namespace Model
+{
+
+TransportMediaInfo::TransportMediaInfo() :
+ m_programsHasBeenSet(false)
+{
+}
+
+TransportMediaInfo::TransportMediaInfo(JsonView jsonValue) :
+ m_programsHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+TransportMediaInfo& TransportMediaInfo::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("programs"))
+ {
+ Aws::Utils::Array programsJsonList = jsonValue.GetArray("programs");
+ for(unsigned programsIndex = 0; programsIndex < programsJsonList.GetLength(); ++programsIndex)
+ {
+ m_programs.push_back(programsJsonList[programsIndex].AsObject());
+ }
+ m_programsHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue TransportMediaInfo::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_programsHasBeenSet)
+ {
+ Aws::Utils::Array programsJsonList(m_programs.size());
+ for(unsigned programsIndex = 0; programsIndex < programsJsonList.GetLength(); ++programsIndex)
+ {
+ programsJsonList[programsIndex].AsObject(m_programs[programsIndex].Jsonize());
+ }
+ payload.WithArray("programs", std::move(programsJsonList));
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportStream.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportStream.cpp
new file mode 100644
index 00000000000..53842417a03
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportStream.cpp
@@ -0,0 +1,172 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace MediaConnect
+{
+namespace Model
+{
+
+TransportStream::TransportStream() :
+ m_channels(0),
+ m_channelsHasBeenSet(false),
+ m_codecHasBeenSet(false),
+ m_frameRateHasBeenSet(false),
+ m_frameResolutionHasBeenSet(false),
+ m_pid(0),
+ m_pidHasBeenSet(false),
+ m_sampleRate(0),
+ m_sampleRateHasBeenSet(false),
+ m_sampleSize(0),
+ m_sampleSizeHasBeenSet(false),
+ m_streamTypeHasBeenSet(false)
+{
+}
+
+TransportStream::TransportStream(JsonView jsonValue) :
+ m_channels(0),
+ m_channelsHasBeenSet(false),
+ m_codecHasBeenSet(false),
+ m_frameRateHasBeenSet(false),
+ m_frameResolutionHasBeenSet(false),
+ m_pid(0),
+ m_pidHasBeenSet(false),
+ m_sampleRate(0),
+ m_sampleRateHasBeenSet(false),
+ m_sampleSize(0),
+ m_sampleSizeHasBeenSet(false),
+ m_streamTypeHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+TransportStream& TransportStream::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("channels"))
+ {
+ m_channels = jsonValue.GetInteger("channels");
+
+ m_channelsHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("codec"))
+ {
+ m_codec = jsonValue.GetString("codec");
+
+ m_codecHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("frameRate"))
+ {
+ m_frameRate = jsonValue.GetString("frameRate");
+
+ m_frameRateHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("frameResolution"))
+ {
+ m_frameResolution = jsonValue.GetObject("frameResolution");
+
+ m_frameResolutionHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("pid"))
+ {
+ m_pid = jsonValue.GetInteger("pid");
+
+ m_pidHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("sampleRate"))
+ {
+ m_sampleRate = jsonValue.GetInteger("sampleRate");
+
+ m_sampleRateHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("sampleSize"))
+ {
+ m_sampleSize = jsonValue.GetInteger("sampleSize");
+
+ m_sampleSizeHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("streamType"))
+ {
+ m_streamType = jsonValue.GetString("streamType");
+
+ m_streamTypeHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue TransportStream::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_channelsHasBeenSet)
+ {
+ payload.WithInteger("channels", m_channels);
+
+ }
+
+ if(m_codecHasBeenSet)
+ {
+ payload.WithString("codec", m_codec);
+
+ }
+
+ if(m_frameRateHasBeenSet)
+ {
+ payload.WithString("frameRate", m_frameRate);
+
+ }
+
+ if(m_frameResolutionHasBeenSet)
+ {
+ payload.WithObject("frameResolution", m_frameResolution.Jsonize());
+
+ }
+
+ if(m_pidHasBeenSet)
+ {
+ payload.WithInteger("pid", m_pid);
+
+ }
+
+ if(m_sampleRateHasBeenSet)
+ {
+ payload.WithInteger("sampleRate", m_sampleRate);
+
+ }
+
+ if(m_sampleSizeHasBeenSet)
+ {
+ payload.WithInteger("sampleSize", m_sampleSize);
+
+ }
+
+ if(m_streamTypeHasBeenSet)
+ {
+ payload.WithString("streamType", m_streamType);
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportStreamProgram.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportStreamProgram.cpp
new file mode 100644
index 00000000000..5e58117858a
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-mediaconnect/source/model/TransportStreamProgram.cpp
@@ -0,0 +1,133 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include
+#include
+
+#include
+
+using namespace Aws::Utils::Json;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace MediaConnect
+{
+namespace Model
+{
+
+TransportStreamProgram::TransportStreamProgram() :
+ m_pcrPid(0),
+ m_pcrPidHasBeenSet(false),
+ m_programNameHasBeenSet(false),
+ m_programNumber(0),
+ m_programNumberHasBeenSet(false),
+ m_programPid(0),
+ m_programPidHasBeenSet(false),
+ m_streamsHasBeenSet(false)
+{
+}
+
+TransportStreamProgram::TransportStreamProgram(JsonView jsonValue) :
+ m_pcrPid(0),
+ m_pcrPidHasBeenSet(false),
+ m_programNameHasBeenSet(false),
+ m_programNumber(0),
+ m_programNumberHasBeenSet(false),
+ m_programPid(0),
+ m_programPidHasBeenSet(false),
+ m_streamsHasBeenSet(false)
+{
+ *this = jsonValue;
+}
+
+TransportStreamProgram& TransportStreamProgram::operator =(JsonView jsonValue)
+{
+ if(jsonValue.ValueExists("pcrPid"))
+ {
+ m_pcrPid = jsonValue.GetInteger("pcrPid");
+
+ m_pcrPidHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("programName"))
+ {
+ m_programName = jsonValue.GetString("programName");
+
+ m_programNameHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("programNumber"))
+ {
+ m_programNumber = jsonValue.GetInteger("programNumber");
+
+ m_programNumberHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("programPid"))
+ {
+ m_programPid = jsonValue.GetInteger("programPid");
+
+ m_programPidHasBeenSet = true;
+ }
+
+ if(jsonValue.ValueExists("streams"))
+ {
+ Aws::Utils::Array streamsJsonList = jsonValue.GetArray("streams");
+ for(unsigned streamsIndex = 0; streamsIndex < streamsJsonList.GetLength(); ++streamsIndex)
+ {
+ m_streams.push_back(streamsJsonList[streamsIndex].AsObject());
+ }
+ m_streamsHasBeenSet = true;
+ }
+
+ return *this;
+}
+
+JsonValue TransportStreamProgram::Jsonize() const
+{
+ JsonValue payload;
+
+ if(m_pcrPidHasBeenSet)
+ {
+ payload.WithInteger("pcrPid", m_pcrPid);
+
+ }
+
+ if(m_programNameHasBeenSet)
+ {
+ payload.WithString("programName", m_programName);
+
+ }
+
+ if(m_programNumberHasBeenSet)
+ {
+ payload.WithInteger("programNumber", m_programNumber);
+
+ }
+
+ if(m_programPidHasBeenSet)
+ {
+ payload.WithInteger("programPid", m_programPid);
+
+ }
+
+ if(m_streamsHasBeenSet)
+ {
+ Aws::Utils::Array streamsJsonList(m_streams.size());
+ for(unsigned streamsIndex = 0; streamsIndex < streamsJsonList.GetLength(); ++streamsIndex)
+ {
+ streamsJsonList[streamsIndex].AsObject(m_streams[streamsIndex].Jsonize());
+ }
+ payload.WithArray("streams", std::move(streamsJsonList));
+
+ }
+
+ return payload;
+}
+
+} // namespace Model
+} // namespace MediaConnect
+} // namespace Aws
diff --git a/generated/src/aws-cpp-sdk-networkmonitor/CMakeLists.txt b/generated/src/aws-cpp-sdk-networkmonitor/CMakeLists.txt
new file mode 100644
index 00000000000..f3265464b5e
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-networkmonitor/CMakeLists.txt
@@ -0,0 +1,76 @@
+add_project(aws-cpp-sdk-networkmonitor "C++ SDK for the AWS networkmonitor service" aws-cpp-sdk-core)
+
+file(GLOB AWS_NETWORKMONITOR_HEADERS
+ "include/aws/networkmonitor/*.h"
+)
+
+file(GLOB AWS_NETWORKMONITOR_MODEL_HEADERS
+ "include/aws/networkmonitor/model/*.h"
+)
+
+file(GLOB AWS_NETWORKMONITOR_SOURCE
+ "source/*.cpp"
+)
+
+file(GLOB AWS_NETWORKMONITOR_MODEL_SOURCE
+ "source/model/*.cpp"
+)
+
+file(GLOB NETWORKMONITOR_UNIFIED_HEADERS
+ ${AWS_NETWORKMONITOR_HEADERS}
+ ${AWS_NETWORKMONITOR_MODEL_HEADERS}
+)
+
+file(GLOB NETWORKMONITOR_UNITY_SRC
+ ${AWS_NETWORKMONITOR_SOURCE}
+ ${AWS_NETWORKMONITOR_MODEL_SOURCE}
+)
+
+if(ENABLE_UNITY_BUILD)
+ enable_unity_build("NETWORKMONITOR" NETWORKMONITOR_UNITY_SRC)
+endif()
+
+file(GLOB NETWORKMONITOR_SRC
+ ${NETWORKMONITOR_UNIFIED_HEADERS}
+ ${NETWORKMONITOR_UNITY_SRC}
+)
+
+if(WIN32)
+ #if we are compiling for visual studio, create a sane directory tree.
+ if(MSVC)
+ source_group("Header Files\\aws\\networkmonitor" FILES ${AWS_NETWORKMONITOR_HEADERS})
+ source_group("Header Files\\aws\\networkmonitor\\model" FILES ${AWS_NETWORKMONITOR_MODEL_HEADERS})
+ source_group("Source Files" FILES ${AWS_NETWORKMONITOR_SOURCE})
+ source_group("Source Files\\model" FILES ${AWS_NETWORKMONITOR_MODEL_SOURCE})
+ endif(MSVC)
+endif()
+
+set(NETWORKMONITOR_INCLUDES
+ "${CMAKE_CURRENT_SOURCE_DIR}/include/"
+)
+
+add_library(${PROJECT_NAME} ${NETWORKMONITOR_SRC})
+add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
+
+set_compiler_flags(${PROJECT_NAME})
+set_compiler_warnings(${PROJECT_NAME})
+
+if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_NETWORKMONITOR_EXPORTS")
+endif()
+
+target_include_directories(${PROJECT_NAME} PUBLIC
+ $
+ $)
+
+target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS})
+
+
+setup_install()
+
+install (FILES ${AWS_NETWORKMONITOR_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/networkmonitor)
+install (FILES ${AWS_NETWORKMONITOR_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/networkmonitor/model)
+
+do_packaging()
+
+
diff --git a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h
new file mode 100644
index 00000000000..6dea273093e
--- /dev/null
+++ b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h
@@ -0,0 +1,420 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace Aws
+{
+namespace NetworkMonitor
+{
+ /**
+ * Amazon CloudWatch Network Monitor is an Amazon Web Services active network
+ * monitoring service that identifies if a network issues exists within the Amazon
+ * Web Services network or your own company network. Within Network Monitor you'll
+ * choose the source VPCs and subnets from the Amazon Web Services network in which
+ * you operate and then you'll choose the destination IP addresses from your
+ * on-premises network. From these sources and destinations, Network Monitor
+ * creates a monitor containing all the possible source and destination
+ * combinations, each of which is called a probe, within a single monitor. These
+ * probes then monitor network traffic to help you identify where network issues
+ * might be affecting your traffic.
For more information, see Using
+ * Amazon CloudWatch Network Monitor in the Amazon CloudWatch User
+ * Guide.
+ */
+ class AWS_NETWORKMONITOR_API NetworkMonitorClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
+ {
+ public:
+ typedef Aws::Client::AWSJsonClient BASECLASS;
+ static const char* SERVICE_NAME;
+ static const char* ALLOCATION_TAG;
+
+ typedef NetworkMonitorClientConfiguration ClientConfigurationType;
+ typedef NetworkMonitorEndpointProvider EndpointProviderType;
+
+ /**
+ * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
+ * is not specified, it will be initialized to default values.
+ */
+ NetworkMonitorClient(const Aws::NetworkMonitor::NetworkMonitorClientConfiguration& clientConfiguration = Aws::NetworkMonitor::NetworkMonitorClientConfiguration(),
+ std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
+
+ /**
+ * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
+ * is not specified, it will be initialized to default values.
+ */
+ NetworkMonitorClient(const Aws::Auth::AWSCredentials& credentials,
+ std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
+ const Aws::NetworkMonitor::NetworkMonitorClientConfiguration& clientConfiguration = Aws::NetworkMonitor::NetworkMonitorClientConfiguration());
+
+ /**
+ * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
+ * the default http client factory will be used
+ */
+ NetworkMonitorClient(const std::shared_ptr& credentialsProvider,
+ std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
+ const Aws::NetworkMonitor::NetworkMonitorClientConfiguration& clientConfiguration = Aws::NetworkMonitor::NetworkMonitorClientConfiguration());
+
+
+ /* Legacy constructors due deprecation */
+ /**
+ * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
+ * is not specified, it will be initialized to default values.
+ */
+ NetworkMonitorClient(const Aws::Client::ClientConfiguration& clientConfiguration);
+
+ /**
+ * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
+ * is not specified, it will be initialized to default values.
+ */
+ NetworkMonitorClient(const Aws::Auth::AWSCredentials& credentials,
+ const Aws::Client::ClientConfiguration& clientConfiguration);
+
+ /**
+ * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
+ * the default http client factory will be used
+ */
+ NetworkMonitorClient(const std::shared_ptr& credentialsProvider,
+ const Aws::Client::ClientConfiguration& clientConfiguration);
+
+ /* End of legacy constructors due deprecation */
+ virtual ~NetworkMonitorClient();
+
+ /**
+ * Creates a monitor between a source subnet and destination IP address. Within
+ * a monitor you'll create one or more probes that monitor network traffic between
+ * your source Amazon Web Services VPC subnets and your destination IP addresses.
+ * Each probe then aggregates and sends metrics to Amazon CloudWatch.
See
+ * Also:
AWS
+ * API Reference
+ */
+ virtual Model::CreateMonitorOutcome CreateMonitor(const Model::CreateMonitorRequest& request) const;
+
+ /**
+ * A Callable wrapper for CreateMonitor that returns a future to the operation so that it can be executed in parallel to other requests.
+ */
+ template
+ Model::CreateMonitorOutcomeCallable CreateMonitorCallable(const CreateMonitorRequestT& request) const
+ {
+ return SubmitCallable(&NetworkMonitorClient::CreateMonitor, request);
+ }
+
+ /**
+ * An Async wrapper for CreateMonitor that queues the request into a thread executor and triggers associated callback when operation has finished.
+ */
+ template
+ void CreateMonitorAsync(const CreateMonitorRequestT& request, const CreateMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
+ {
+ return SubmitAsync(&NetworkMonitorClient::CreateMonitor, request, handler, context);
+ }
+
+ /**
+ * Create a probe within a monitor. Once you create a probe, and it begins
+ * monitoring your network traffic, you'll incur billing charges for that probe.
+ *
See Also:
AWS
+ * API Reference
+ */
+ virtual Model::CreateProbeOutcome CreateProbe(const Model::CreateProbeRequest& request) const;
+
+ /**
+ * A Callable wrapper for CreateProbe that returns a future to the operation so that it can be executed in parallel to other requests.
+ */
+ template
+ Model::CreateProbeOutcomeCallable CreateProbeCallable(const CreateProbeRequestT& request) const
+ {
+ return SubmitCallable(&NetworkMonitorClient::CreateProbe, request);
+ }
+
+ /**
+ * An Async wrapper for CreateProbe that queues the request into a thread executor and triggers associated callback when operation has finished.
+ */
+ template
+ void CreateProbeAsync(const CreateProbeRequestT& request, const CreateProbeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
+ {
+ return SubmitAsync(&NetworkMonitorClient::CreateProbe, request, handler, context);
+ }
+
+ /**
+ * Deletes a specified monitor.
See Also:
AWS
+ * API Reference
+ */
+ virtual Model::DeleteMonitorOutcome DeleteMonitor(const Model::DeleteMonitorRequest& request) const;
+
+ /**
+ * A Callable wrapper for DeleteMonitor that returns a future to the operation so that it can be executed in parallel to other requests.
+ */
+ template
+ Model::DeleteMonitorOutcomeCallable DeleteMonitorCallable(const DeleteMonitorRequestT& request) const
+ {
+ return SubmitCallable(&NetworkMonitorClient::DeleteMonitor, request);
+ }
+
+ /**
+ * An Async wrapper for DeleteMonitor that queues the request into a thread executor and triggers associated callback when operation has finished.
+ */
+ template
+ void DeleteMonitorAsync(const DeleteMonitorRequestT& request, const DeleteMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
+ {
+ return SubmitAsync(&NetworkMonitorClient::DeleteMonitor, request, handler, context);
+ }
+
+ /**
+ * Deletes the specified monitor. Once a probe is deleted you'll no longer incur
+ * any billing fees for that probe.
See Also:
AWS
+ * API Reference
+ */
+ virtual Model::DeleteProbeOutcome DeleteProbe(const Model::DeleteProbeRequest& request) const;
+
+ /**
+ * A Callable wrapper for DeleteProbe that returns a future to the operation so that it can be executed in parallel to other requests.
+ */
+ template
+ Model::DeleteProbeOutcomeCallable DeleteProbeCallable(const DeleteProbeRequestT& request) const
+ {
+ return SubmitCallable(&NetworkMonitorClient::DeleteProbe, request);
+ }
+
+ /**
+ * An Async wrapper for DeleteProbe that queues the request into a thread executor and triggers associated callback when operation has finished.
+ */
+ template
+ void DeleteProbeAsync(const DeleteProbeRequestT& request, const DeleteProbeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
+ {
+ return SubmitAsync(&NetworkMonitorClient::DeleteProbe, request, handler, context);
+ }
+
+ /**
+ * Returns details about a specific monitor.
See Also:
AWS
+ * API Reference
+ */
+ virtual Model::GetMonitorOutcome GetMonitor(const Model::GetMonitorRequest& request) const;
+
+ /**
+ * A Callable wrapper for GetMonitor that returns a future to the operation so that it can be executed in parallel to other requests.
+ */
+ template
+ Model::GetMonitorOutcomeCallable GetMonitorCallable(const GetMonitorRequestT& request) const
+ {
+ return SubmitCallable(&NetworkMonitorClient::GetMonitor, request);
+ }
+
+ /**
+ * An Async wrapper for GetMonitor that queues the request into a thread executor and triggers associated callback when operation has finished.
+ */
+ template
+ void GetMonitorAsync(const GetMonitorRequestT& request, const GetMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
+ {
+ return SubmitAsync(&NetworkMonitorClient::GetMonitor, request, handler, context);
+ }
+
+ /**
+ *