This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-gamelift/source/model/CreateFleetRequest.cpp

190 lines
4.9 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/gamelift/model/CreateFleetRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GameLift::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateFleetRequest::CreateFleetRequest() :
m_nameHasBeenSet(false),
m_descriptionHasBeenSet(false),
m_buildIdHasBeenSet(false),
m_scriptIdHasBeenSet(false),
m_serverLaunchPathHasBeenSet(false),
m_serverLaunchParametersHasBeenSet(false),
m_logPathsHasBeenSet(false),
m_eC2InstanceType(EC2InstanceType::NOT_SET),
m_eC2InstanceTypeHasBeenSet(false),
m_eC2InboundPermissionsHasBeenSet(false),
m_newGameSessionProtectionPolicy(ProtectionPolicy::NOT_SET),
m_newGameSessionProtectionPolicyHasBeenSet(false),
m_runtimeConfigurationHasBeenSet(false),
m_resourceCreationLimitPolicyHasBeenSet(false),
m_metricGroupsHasBeenSet(false),
m_peerVpcAwsAccountIdHasBeenSet(false),
m_peerVpcIdHasBeenSet(false),
m_fleetType(FleetType::NOT_SET),
m_fleetTypeHasBeenSet(false),
m_instanceRoleArnHasBeenSet(false),
m_certificateConfigurationHasBeenSet(false),
m_tagsHasBeenSet(false)
{
}
Aws::String CreateFleetRequest::SerializePayload() const
{
JsonValue payload;
if(m_nameHasBeenSet)
{
payload.WithString("Name", m_name);
}
if(m_descriptionHasBeenSet)
{
payload.WithString("Description", m_description);
}
if(m_buildIdHasBeenSet)
{
payload.WithString("BuildId", m_buildId);
}
if(m_scriptIdHasBeenSet)
{
payload.WithString("ScriptId", m_scriptId);
}
if(m_serverLaunchPathHasBeenSet)
{
payload.WithString("ServerLaunchPath", m_serverLaunchPath);
}
if(m_serverLaunchParametersHasBeenSet)
{
payload.WithString("ServerLaunchParameters", m_serverLaunchParameters);
}
if(m_logPathsHasBeenSet)
{
Array<JsonValue> logPathsJsonList(m_logPaths.size());
for(unsigned logPathsIndex = 0; logPathsIndex < logPathsJsonList.GetLength(); ++logPathsIndex)
{
logPathsJsonList[logPathsIndex].AsString(m_logPaths[logPathsIndex]);
}
payload.WithArray("LogPaths", std::move(logPathsJsonList));
}
if(m_eC2InstanceTypeHasBeenSet)
{
payload.WithString("EC2InstanceType", EC2InstanceTypeMapper::GetNameForEC2InstanceType(m_eC2InstanceType));
}
if(m_eC2InboundPermissionsHasBeenSet)
{
Array<JsonValue> eC2InboundPermissionsJsonList(m_eC2InboundPermissions.size());
for(unsigned eC2InboundPermissionsIndex = 0; eC2InboundPermissionsIndex < eC2InboundPermissionsJsonList.GetLength(); ++eC2InboundPermissionsIndex)
{
eC2InboundPermissionsJsonList[eC2InboundPermissionsIndex].AsObject(m_eC2InboundPermissions[eC2InboundPermissionsIndex].Jsonize());
}
payload.WithArray("EC2InboundPermissions", std::move(eC2InboundPermissionsJsonList));
}
if(m_newGameSessionProtectionPolicyHasBeenSet)
{
payload.WithString("NewGameSessionProtectionPolicy", ProtectionPolicyMapper::GetNameForProtectionPolicy(m_newGameSessionProtectionPolicy));
}
if(m_runtimeConfigurationHasBeenSet)
{
payload.WithObject("RuntimeConfiguration", m_runtimeConfiguration.Jsonize());
}
if(m_resourceCreationLimitPolicyHasBeenSet)
{
payload.WithObject("ResourceCreationLimitPolicy", m_resourceCreationLimitPolicy.Jsonize());
}
if(m_metricGroupsHasBeenSet)
{
Array<JsonValue> metricGroupsJsonList(m_metricGroups.size());
for(unsigned metricGroupsIndex = 0; metricGroupsIndex < metricGroupsJsonList.GetLength(); ++metricGroupsIndex)
{
metricGroupsJsonList[metricGroupsIndex].AsString(m_metricGroups[metricGroupsIndex]);
}
payload.WithArray("MetricGroups", std::move(metricGroupsJsonList));
}
if(m_peerVpcAwsAccountIdHasBeenSet)
{
payload.WithString("PeerVpcAwsAccountId", m_peerVpcAwsAccountId);
}
if(m_peerVpcIdHasBeenSet)
{
payload.WithString("PeerVpcId", m_peerVpcId);
}
if(m_fleetTypeHasBeenSet)
{
payload.WithString("FleetType", FleetTypeMapper::GetNameForFleetType(m_fleetType));
}
if(m_instanceRoleArnHasBeenSet)
{
payload.WithString("InstanceRoleArn", m_instanceRoleArn);
}
if(m_certificateConfigurationHasBeenSet)
{
payload.WithObject("CertificateConfiguration", m_certificateConfiguration.Jsonize());
}
if(m_tagsHasBeenSet)
{
Array<JsonValue> tagsJsonList(m_tags.size());
for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
{
tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
}
payload.WithArray("Tags", std::move(tagsJsonList));
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateFleetRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GameLift.CreateFleet"));
return headers;
}