/// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateFpgaImageRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.EC2");

            request.Parameters.Add("Action", "CreateFpgaImage");
            request.Parameters.Add("Version", "2016-11-15");

            if (publicRequest != null)
            {
                if (publicRequest.IsSetClientToken())
                {
                    request.Parameters.Add("ClientToken", StringUtils.FromString(publicRequest.ClientToken));
                }
                if (publicRequest.IsSetDescription())
                {
                    request.Parameters.Add("Description", StringUtils.FromString(publicRequest.Description));
                }
                if (publicRequest.IsSetInputStorageLocation())
                {
                    if (publicRequest.InputStorageLocation.IsSetBucket())
                    {
                        request.Parameters.Add("InputStorageLocation" + "." + "Bucket", StringUtils.FromString(publicRequest.InputStorageLocation.Bucket));
                    }
                    if (publicRequest.InputStorageLocation.IsSetKey())
                    {
                        request.Parameters.Add("InputStorageLocation" + "." + "Key", StringUtils.FromString(publicRequest.InputStorageLocation.Key));
                    }
                }
                if (publicRequest.IsSetLogsStorageLocation())
                {
                    if (publicRequest.LogsStorageLocation.IsSetBucket())
                    {
                        request.Parameters.Add("LogsStorageLocation" + "." + "Bucket", StringUtils.FromString(publicRequest.LogsStorageLocation.Bucket));
                    }
                    if (publicRequest.LogsStorageLocation.IsSetKey())
                    {
                        request.Parameters.Add("LogsStorageLocation" + "." + "Key", StringUtils.FromString(publicRequest.LogsStorageLocation.Key));
                    }
                }
                if (publicRequest.IsSetName())
                {
                    request.Parameters.Add("Name", StringUtils.FromString(publicRequest.Name));
                }
                if (publicRequest.IsSetTagSpecifications())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.TagSpecifications)
                    {
                        if (publicRequestlistValue.IsSetResourceType())
                        {
                            request.Parameters.Add("TagSpecification" + "." + publicRequestlistValueIndex + "." + "ResourceType", StringUtils.FromString(publicRequestlistValue.ResourceType));
                        }
                        if (publicRequestlistValue.IsSetTags())
                        {
                            int publicRequestlistValuelistValueIndex = 1;
                            foreach (var publicRequestlistValuelistValue in publicRequestlistValue.Tags)
                            {
                                if (publicRequestlistValuelistValue.IsSetKey())
                                {
                                    request.Parameters.Add("TagSpecification" + "." + publicRequestlistValueIndex + "." + "Tag" + "." + publicRequestlistValuelistValueIndex + "." + "Key", StringUtils.FromString(publicRequestlistValuelistValue.Key));
                                }
                                if (publicRequestlistValuelistValue.IsSetValue())
                                {
                                    request.Parameters.Add("TagSpecification" + "." + publicRequestlistValueIndex + "." + "Tag" + "." + publicRequestlistValuelistValueIndex + "." + "Value", StringUtils.FromString(publicRequestlistValuelistValue.Value));
                                }
                                publicRequestlistValuelistValueIndex++;
                            }
                        }
                        publicRequestlistValueIndex++;
                    }
                }
            }
            return(request);
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateDashboardRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.IoTSiteWise");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2019-12-02";
            request.HttpMethod = "POST";

            request.ResourcePath      = "/dashboards";
            request.MarshallerVersion = 2;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetClientToken())
                {
                    context.Writer.WritePropertyName("clientToken");
                    context.Writer.Write(publicRequest.ClientToken);
                }

                else if (!(publicRequest.IsSetClientToken()))
                {
                    context.Writer.WritePropertyName("clientToken");
                    context.Writer.Write(Guid.NewGuid().ToString());
                }
                if (publicRequest.IsSetDashboardDefinition())
                {
                    context.Writer.WritePropertyName("dashboardDefinition");
                    context.Writer.Write(publicRequest.DashboardDefinition);
                }

                if (publicRequest.IsSetDashboardDescription())
                {
                    context.Writer.WritePropertyName("dashboardDescription");
                    context.Writer.Write(publicRequest.DashboardDescription);
                }

                if (publicRequest.IsSetDashboardName())
                {
                    context.Writer.WritePropertyName("dashboardName");
                    context.Writer.Write(publicRequest.DashboardName);
                }

                if (publicRequest.IsSetProjectId())
                {
                    context.Writer.WritePropertyName("projectId");
                    context.Writer.Write(publicRequest.ProjectId);
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("tags");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestTagsKvp in publicRequest.Tags)
                    {
                        context.Writer.WritePropertyName(publicRequestTagsKvp.Key);
                        var publicRequestTagsValue = publicRequestTagsKvp.Value;

                        context.Writer.Write(publicRequestTagsValue);
                    }
                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            request.HostPrefix = $"monitor.";

            return(request);
        }
Beispiel #3
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateDataRepositoryTaskRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.FSx");
            string   target  = "AWSSimbaAPIService_v20180301.CreateDataRepositoryTask";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2018-03-01";
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetClientRequestToken())
                {
                    context.Writer.WritePropertyName("ClientRequestToken");
                    context.Writer.Write(publicRequest.ClientRequestToken);
                }

                else if (!(publicRequest.IsSetClientRequestToken()))
                {
                    context.Writer.WritePropertyName("ClientRequestToken");
                    context.Writer.Write(Guid.NewGuid().ToString());
                }
                if (publicRequest.IsSetFileSystemId())
                {
                    context.Writer.WritePropertyName("FileSystemId");
                    context.Writer.Write(publicRequest.FileSystemId);
                }

                if (publicRequest.IsSetPaths())
                {
                    context.Writer.WritePropertyName("Paths");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestPathsListValue in publicRequest.Paths)
                    {
                        context.Writer.Write(publicRequestPathsListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetReport())
                {
                    context.Writer.WritePropertyName("Report");
                    context.Writer.WriteObjectStart();

                    var marshaller = CompletionReportMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Report, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("Tags");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTagsListValue in publicRequest.Tags)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TagMarshaller.Instance;
                        marshaller.Marshall(publicRequestTagsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetType())
                {
                    context.Writer.WritePropertyName("Type");
                    context.Writer.Write(publicRequest.Type);
                }

                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #4
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>  
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(DescribeEventsRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.Neptune");
            request.Parameters.Add("Action", "DescribeEvents");
            request.Parameters.Add("Version", "2014-10-31");

            if(publicRequest != null)
            {
                if(publicRequest.IsSetDuration())
                {
                    request.Parameters.Add("Duration", StringUtils.FromInt(publicRequest.Duration));
                }
                if(publicRequest.IsSetEndTimeUtc())
                {
                    request.Parameters.Add("EndTime", StringUtils.FromDateTimeToISO8601(publicRequest.EndTimeUtc));
                }
                if(publicRequest.IsSetEventCategories())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach(var publicRequestlistValue in publicRequest.EventCategories)
                    {
                        request.Parameters.Add("EventCategories" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
                if(publicRequest.IsSetFilters())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach(var publicRequestlistValue in publicRequest.Filters)
                    {
                        if(publicRequestlistValue.IsSetName())
                        {
                            request.Parameters.Add("Filters" + "." + "member" + "." + publicRequestlistValueIndex + "." + "Name", StringUtils.FromString(publicRequestlistValue.Name));
                        }
                        if(publicRequestlistValue.IsSetValues())
                        {
                            int publicRequestlistValuelistValueIndex = 1;
                            foreach(var publicRequestlistValuelistValue in publicRequestlistValue.Values)
                            {
                                request.Parameters.Add("Filters" + "." + "member" + "." + publicRequestlistValueIndex + "." + "Values" + "." + "member" + "." + publicRequestlistValuelistValueIndex, StringUtils.FromString(publicRequestlistValuelistValue));
                                publicRequestlistValuelistValueIndex++;
                            }
                        }
                        publicRequestlistValueIndex++;
                    }
                }
                if(publicRequest.IsSetMarker())
                {
                    request.Parameters.Add("Marker", StringUtils.FromString(publicRequest.Marker));
                }
                if(publicRequest.IsSetMaxRecords())
                {
                    request.Parameters.Add("MaxRecords", StringUtils.FromInt(publicRequest.MaxRecords));
                }
                if(publicRequest.IsSetSourceIdentifier())
                {
                    request.Parameters.Add("SourceIdentifier", StringUtils.FromString(publicRequest.SourceIdentifier));
                }
                if(publicRequest.IsSetSourceType())
                {
                    request.Parameters.Add("SourceType", StringUtils.FromString(publicRequest.SourceType));
                }
                if(publicRequest.IsSetStartTimeUtc())
                {
                    request.Parameters.Add("StartTime", StringUtils.FromDateTimeToISO8601(publicRequest.StartTimeUtc));
                }
            }
            return request;
        }
Beispiel #5
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateAuthorizerRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.IoT");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-05-28";
            request.HttpMethod = "POST";

            if (!publicRequest.IsSetAuthorizerName())
            {
                throw new AmazonIoTException("Request object does not have required field AuthorizerName set");
            }
            request.AddPathResource("{authorizerName}", StringUtils.FromString(publicRequest.AuthorizerName));
            request.ResourcePath      = "/authorizer/{authorizerName}";
            request.MarshallerVersion = 2;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAuthorizerFunctionArn())
                {
                    context.Writer.WritePropertyName("authorizerFunctionArn");
                    context.Writer.Write(publicRequest.AuthorizerFunctionArn);
                }

                if (publicRequest.IsSetSigningDisabled())
                {
                    context.Writer.WritePropertyName("signingDisabled");
                    context.Writer.Write(publicRequest.SigningDisabled);
                }

                if (publicRequest.IsSetStatus())
                {
                    context.Writer.WritePropertyName("status");
                    context.Writer.Write(publicRequest.Status);
                }

                if (publicRequest.IsSetTokenKeyName())
                {
                    context.Writer.WritePropertyName("tokenKeyName");
                    context.Writer.Write(publicRequest.TokenKeyName);
                }

                if (publicRequest.IsSetTokenSigningPublicKeys())
                {
                    context.Writer.WritePropertyName("tokenSigningPublicKeys");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestTokenSigningPublicKeysKvp in publicRequest.TokenSigningPublicKeys)
                    {
                        context.Writer.WritePropertyName(publicRequestTokenSigningPublicKeysKvp.Key);
                        var publicRequestTokenSigningPublicKeysValue = publicRequestTokenSigningPublicKeysKvp.Value;

                        context.Writer.Write(publicRequestTokenSigningPublicKeysValue);
                    }
                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateReplicationGroupRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.ElastiCache");

            request.Parameters.Add("Action", "CreateReplicationGroup");
            request.Parameters.Add("Version", "2015-02-02");

            if (publicRequest != null)
            {
                if (publicRequest.IsSetAtRestEncryptionEnabled())
                {
                    request.Parameters.Add("AtRestEncryptionEnabled", StringUtils.FromBool(publicRequest.AtRestEncryptionEnabled));
                }
                if (publicRequest.IsSetAuthToken())
                {
                    request.Parameters.Add("AuthToken", StringUtils.FromString(publicRequest.AuthToken));
                }
                if (publicRequest.IsSetAutomaticFailoverEnabled())
                {
                    request.Parameters.Add("AutomaticFailoverEnabled", StringUtils.FromBool(publicRequest.AutomaticFailoverEnabled));
                }
                if (publicRequest.IsSetAutoMinorVersionUpgrade())
                {
                    request.Parameters.Add("AutoMinorVersionUpgrade", StringUtils.FromBool(publicRequest.AutoMinorVersionUpgrade));
                }
                if (publicRequest.IsSetCacheNodeType())
                {
                    request.Parameters.Add("CacheNodeType", StringUtils.FromString(publicRequest.CacheNodeType));
                }
                if (publicRequest.IsSetCacheParameterGroupName())
                {
                    request.Parameters.Add("CacheParameterGroupName", StringUtils.FromString(publicRequest.CacheParameterGroupName));
                }
                if (publicRequest.IsSetCacheSecurityGroupNames())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.CacheSecurityGroupNames)
                    {
                        request.Parameters.Add("CacheSecurityGroupNames" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetCacheSubnetGroupName())
                {
                    request.Parameters.Add("CacheSubnetGroupName", StringUtils.FromString(publicRequest.CacheSubnetGroupName));
                }
                if (publicRequest.IsSetEngine())
                {
                    request.Parameters.Add("Engine", StringUtils.FromString(publicRequest.Engine));
                }
                if (publicRequest.IsSetEngineVersion())
                {
                    request.Parameters.Add("EngineVersion", StringUtils.FromString(publicRequest.EngineVersion));
                }
                if (publicRequest.IsSetNodeGroupConfiguration())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.NodeGroupConfiguration)
                    {
                        if (publicRequestlistValue.IsSetPrimaryAvailabilityZone())
                        {
                            request.Parameters.Add("NodeGroupConfiguration" + "." + "member" + "." + publicRequestlistValueIndex + "." + "PrimaryAvailabilityZone", StringUtils.FromString(publicRequestlistValue.PrimaryAvailabilityZone));
                        }
                        if (publicRequestlistValue.IsSetReplicaAvailabilityZones())
                        {
                            int publicRequestlistValuelistValueIndex = 1;
                            foreach (var publicRequestlistValuelistValue in publicRequestlistValue.ReplicaAvailabilityZones)
                            {
                                request.Parameters.Add("NodeGroupConfiguration" + "." + "member" + "." + publicRequestlistValueIndex + "." + "ReplicaAvailabilityZones" + "." + "member" + "." + publicRequestlistValuelistValueIndex, StringUtils.FromString(publicRequestlistValuelistValue));
                                publicRequestlistValuelistValueIndex++;
                            }
                        }
                        if (publicRequestlistValue.IsSetReplicaCount())
                        {
                            request.Parameters.Add("NodeGroupConfiguration" + "." + "member" + "." + publicRequestlistValueIndex + "." + "ReplicaCount", StringUtils.FromInt(publicRequestlistValue.ReplicaCount));
                        }
                        if (publicRequestlistValue.IsSetSlots())
                        {
                            request.Parameters.Add("NodeGroupConfiguration" + "." + "member" + "." + publicRequestlistValueIndex + "." + "Slots", StringUtils.FromString(publicRequestlistValue.Slots));
                        }
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetNotificationTopicArn())
                {
                    request.Parameters.Add("NotificationTopicArn", StringUtils.FromString(publicRequest.NotificationTopicArn));
                }
                if (publicRequest.IsSetNumCacheClusters())
                {
                    request.Parameters.Add("NumCacheClusters", StringUtils.FromInt(publicRequest.NumCacheClusters));
                }
                if (publicRequest.IsSetNumNodeGroups())
                {
                    request.Parameters.Add("NumNodeGroups", StringUtils.FromInt(publicRequest.NumNodeGroups));
                }
                if (publicRequest.IsSetPort())
                {
                    request.Parameters.Add("Port", StringUtils.FromInt(publicRequest.Port));
                }
                if (publicRequest.IsSetPreferredCacheClusterAZs())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.PreferredCacheClusterAZs)
                    {
                        request.Parameters.Add("PreferredCacheClusterAZs" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetPreferredMaintenanceWindow())
                {
                    request.Parameters.Add("PreferredMaintenanceWindow", StringUtils.FromString(publicRequest.PreferredMaintenanceWindow));
                }
                if (publicRequest.IsSetPrimaryClusterId())
                {
                    request.Parameters.Add("PrimaryClusterId", StringUtils.FromString(publicRequest.PrimaryClusterId));
                }
                if (publicRequest.IsSetReplicasPerNodeGroup())
                {
                    request.Parameters.Add("ReplicasPerNodeGroup", StringUtils.FromInt(publicRequest.ReplicasPerNodeGroup));
                }
                if (publicRequest.IsSetReplicationGroupDescription())
                {
                    request.Parameters.Add("ReplicationGroupDescription", StringUtils.FromString(publicRequest.ReplicationGroupDescription));
                }
                if (publicRequest.IsSetReplicationGroupId())
                {
                    request.Parameters.Add("ReplicationGroupId", StringUtils.FromString(publicRequest.ReplicationGroupId));
                }
                if (publicRequest.IsSetSecurityGroupIds())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.SecurityGroupIds)
                    {
                        request.Parameters.Add("SecurityGroupIds" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetSnapshotArns())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.SnapshotArns)
                    {
                        request.Parameters.Add("SnapshotArns" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetSnapshotName())
                {
                    request.Parameters.Add("SnapshotName", StringUtils.FromString(publicRequest.SnapshotName));
                }
                if (publicRequest.IsSetSnapshotRetentionLimit())
                {
                    request.Parameters.Add("SnapshotRetentionLimit", StringUtils.FromInt(publicRequest.SnapshotRetentionLimit));
                }
                if (publicRequest.IsSetSnapshotWindow())
                {
                    request.Parameters.Add("SnapshotWindow", StringUtils.FromString(publicRequest.SnapshotWindow));
                }
                if (publicRequest.IsSetTags())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.Tags)
                    {
                        if (publicRequestlistValue.IsSetKey())
                        {
                            request.Parameters.Add("Tags" + "." + "member" + "." + publicRequestlistValueIndex + "." + "Key", StringUtils.FromString(publicRequestlistValue.Key));
                        }
                        if (publicRequestlistValue.IsSetValue())
                        {
                            request.Parameters.Add("Tags" + "." + "member" + "." + publicRequestlistValueIndex + "." + "Value", StringUtils.FromString(publicRequestlistValue.Value));
                        }
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetTransitEncryptionEnabled())
                {
                    request.Parameters.Add("TransitEncryptionEnabled", StringUtils.FromBool(publicRequest.TransitEncryptionEnabled));
                }
            }
            return(request);
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(UpdateElasticsearchDomainConfigRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.Elasticsearch");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-01-01";
            request.HttpMethod = "POST";

            if (!publicRequest.IsSetDomainName())
            {
                throw new AmazonElasticsearchException("Request object does not have required field DomainName set");
            }
            request.AddPathResource("{DomainName}", StringUtils.FromString(publicRequest.DomainName));
            request.ResourcePath      = "/2015-01-01/es/domain/{DomainName}/config";
            request.MarshallerVersion = 2;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAccessPolicies())
                {
                    context.Writer.WritePropertyName("AccessPolicies");
                    context.Writer.Write(publicRequest.AccessPolicies);
                }

                if (publicRequest.IsSetAdvancedOptions())
                {
                    context.Writer.WritePropertyName("AdvancedOptions");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestAdvancedOptionsKvp in publicRequest.AdvancedOptions)
                    {
                        context.Writer.WritePropertyName(publicRequestAdvancedOptionsKvp.Key);
                        var publicRequestAdvancedOptionsValue = publicRequestAdvancedOptionsKvp.Value;

                        context.Writer.Write(publicRequestAdvancedOptionsValue);
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetAdvancedSecurityOptions())
                {
                    context.Writer.WritePropertyName("AdvancedSecurityOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = AdvancedSecurityOptionsInputMarshaller.Instance;
                    marshaller.Marshall(publicRequest.AdvancedSecurityOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetCognitoOptions())
                {
                    context.Writer.WritePropertyName("CognitoOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = CognitoOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.CognitoOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetDomainEndpointOptions())
                {
                    context.Writer.WritePropertyName("DomainEndpointOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = DomainEndpointOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.DomainEndpointOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetEBSOptions())
                {
                    context.Writer.WritePropertyName("EBSOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = EBSOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.EBSOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetElasticsearchClusterConfig())
                {
                    context.Writer.WritePropertyName("ElasticsearchClusterConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = ElasticsearchClusterConfigMarshaller.Instance;
                    marshaller.Marshall(publicRequest.ElasticsearchClusterConfig, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetEncryptionAtRestOptions())
                {
                    context.Writer.WritePropertyName("EncryptionAtRestOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = EncryptionAtRestOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.EncryptionAtRestOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetLogPublishingOptions())
                {
                    context.Writer.WritePropertyName("LogPublishingOptions");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestLogPublishingOptionsKvp in publicRequest.LogPublishingOptions)
                    {
                        context.Writer.WritePropertyName(publicRequestLogPublishingOptionsKvp.Key);
                        var publicRequestLogPublishingOptionsValue = publicRequestLogPublishingOptionsKvp.Value;

                        context.Writer.WriteObjectStart();

                        var marshaller = LogPublishingOptionMarshaller.Instance;
                        marshaller.Marshall(publicRequestLogPublishingOptionsValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetNodeToNodeEncryptionOptions())
                {
                    context.Writer.WritePropertyName("NodeToNodeEncryptionOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = NodeToNodeEncryptionOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.NodeToNodeEncryptionOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetSnapshotOptions())
                {
                    context.Writer.WritePropertyName("SnapshotOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = SnapshotOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.SnapshotOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetVPCOptions())
                {
                    context.Writer.WritePropertyName("VPCOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = VPCOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.VPCOptions, context);

                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #8
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateDomainConfigurationRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.IoT");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-05-28";
            request.HttpMethod = "POST";

            if (!publicRequest.IsSetDomainConfigurationName())
            {
                throw new AmazonIoTException("Request object does not have required field DomainConfigurationName set");
            }
            request.AddPathResource("{domainConfigurationName}", StringUtils.FromString(publicRequest.DomainConfigurationName));
            request.ResourcePath = "/domainConfigurations/{domainConfigurationName}";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAuthorizerConfig())
                {
                    context.Writer.WritePropertyName("authorizerConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = AuthorizerConfigMarshaller.Instance;
                    marshaller.Marshall(publicRequest.AuthorizerConfig, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetDomainName())
                {
                    context.Writer.WritePropertyName("domainName");
                    context.Writer.Write(publicRequest.DomainName);
                }

                if (publicRequest.IsSetServerCertificateArns())
                {
                    context.Writer.WritePropertyName("serverCertificateArns");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestServerCertificateArnsListValue in publicRequest.ServerCertificateArns)
                    {
                        context.Writer.Write(publicRequestServerCertificateArnsListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetServiceType())
                {
                    context.Writer.WritePropertyName("serviceType");
                    context.Writer.Write(publicRequest.ServiceType);
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("tags");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTagsListValue in publicRequest.Tags)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TagMarshaller.Instance;
                        marshaller.Marshall(publicRequestTagsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetValidationCertificateArn())
                {
                    context.Writer.WritePropertyName("validationCertificateArn");
                    context.Writer.Write(publicRequest.ValidationCertificateArn);
                }

                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #9
0
        /// <summary>
        /// Marshalls the parameters for a presigned url for a preferred signing protocol.
        /// </summary>
        /// <param name="config">service client configuration</param>
        /// <param name="getPreSignedUrlRequest"></param>
        /// <param name="accessKey"></param>
        /// <param name="token"></param>
        /// <param name="signatureVersion">Signature version to use.
        /// If AWS4 signing will be used and if the expiry period in the request exceeds the
        /// maximum allowed for AWS4 (one week), an ArgumentException is thrown.
        /// </param>
        /// <returns>Internal request</returns>
        private static IRequest Marshall(IClientConfig config,
                                         GetPreSignedUrlRequest getPreSignedUrlRequest,
                                         string accessKey,
                                         string token,
                                         SignatureVersion signatureVersion)
        {
            IRequest request = new DefaultRequest(getPreSignedUrlRequest, "AmazonS3");

            request.HttpMethod = getPreSignedUrlRequest.Verb.ToString();

            var headers = getPreSignedUrlRequest.Headers;

            foreach (var key in headers.Keys)
            {
                request.Headers[key] = headers[key];
            }

            AmazonS3Util.SetMetadataHeaders(request, getPreSignedUrlRequest.Metadata);

            if (getPreSignedUrlRequest.ServerSideEncryptionMethod != null && getPreSignedUrlRequest.ServerSideEncryptionMethod != ServerSideEncryptionMethod.None)
            {
                request.Headers.Add(HeaderKeys.XAmzServerSideEncryptionHeader, S3Transforms.ToStringValue(getPreSignedUrlRequest.ServerSideEncryptionMethod));
            }
            if (getPreSignedUrlRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                request.Headers.Add(HeaderKeys.XAmzSSECustomerAlgorithmHeader, getPreSignedUrlRequest.ServerSideEncryptionCustomerMethod);
            }
            if (getPreSignedUrlRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId())
            {
                request.Headers.Add(HeaderKeys.XAmzServerSideEncryptionAwsKmsKeyIdHeader, getPreSignedUrlRequest.ServerSideEncryptionKeyManagementServiceKeyId);
            }

            if (getPreSignedUrlRequest.IsSetRequestPayer() && getPreSignedUrlRequest.RequestPayer == RequestPayer.Requester)
            {
                request.Parameters.Add("x-amz-request-payer", RequestPayer.Requester.Value);
            }

            var queryParameters = request.Parameters;

            var uriResourcePath = new StringBuilder("/");

            if (!string.IsNullOrEmpty(getPreSignedUrlRequest.BucketName))
            {
                uriResourcePath.Append(S3Transforms.ToStringValue(getPreSignedUrlRequest.BucketName));
            }
            if (!string.IsNullOrEmpty(getPreSignedUrlRequest.Key))
            {
                if (uriResourcePath.Length > 1)
                {
                    uriResourcePath.Append("/");
                }
                uriResourcePath.Append(S3Transforms.ToStringValue(getPreSignedUrlRequest.Key));
            }

            var expires = GetSecondsUntilExpiration(config, getPreSignedUrlRequest, signatureVersion);

            if ((signatureVersion == SignatureVersion.SigV4 || signatureVersion == SignatureVersion.SigV4a) &&
                expires > AWS4PreSignedUrlSigner.MaxAWS4PreSignedUrlExpiry)
            {
                var msg = string.Format(CultureInfo.InvariantCulture, "The maximum expiry period for a presigned url using AWS4 signing is {0} seconds",
                                        AWS4PreSignedUrlSigner.MaxAWS4PreSignedUrlExpiry);
                throw new ArgumentException(msg);
            }

            if (signatureVersion == SignatureVersion.SigV2)
            {
                queryParameters.Add("Expires", expires.ToString(CultureInfo.InvariantCulture));
                queryParameters.Add("AWSAccessKeyId", accessKey);
                if (!string.IsNullOrEmpty(token))
                {
                    queryParameters.Add("x-amz-security-token", token);
                }
            }
            else // SigV4 or SigV4a
            {
                queryParameters.Add(HeaderKeys.XAmzExpires, expires.ToString(CultureInfo.InvariantCulture));
                if (!string.IsNullOrEmpty(token))
                {
                    queryParameters.Add("X-Amz-Security-Token", token);
                }
            }

            if (getPreSignedUrlRequest.IsSetVersionId())
            {
                request.AddSubResource("versionId", S3Transforms.ToStringValue(getPreSignedUrlRequest.VersionId));
            }
            if (getPreSignedUrlRequest.IsSetUploadId())
            {
                request.AddSubResource("uploadId", S3Transforms.ToStringValue(getPreSignedUrlRequest.UploadId));
            }
            if (getPreSignedUrlRequest.IsSetPartNumber())
            {
                request.AddSubResource("partNumber", S3Transforms.ToStringValue(getPreSignedUrlRequest.PartNumber));
            }

            var responseHeaderOverrides = getPreSignedUrlRequest.ResponseHeaderOverrides;

            if (!string.IsNullOrEmpty(responseHeaderOverrides.CacheControl))
            {
                queryParameters.Add("response-cache-control", responseHeaderOverrides.CacheControl);
            }
            if (!string.IsNullOrEmpty(responseHeaderOverrides.ContentType))
            {
                queryParameters.Add("response-content-type", responseHeaderOverrides.ContentType);
            }
            if (!string.IsNullOrEmpty(responseHeaderOverrides.ContentLanguage))
            {
                queryParameters.Add("response-content-language", responseHeaderOverrides.ContentLanguage);
            }
            if (!string.IsNullOrEmpty(responseHeaderOverrides.Expires))
            {
                queryParameters.Add("response-expires", responseHeaderOverrides.Expires);
            }
            if (!string.IsNullOrEmpty(responseHeaderOverrides.ContentDisposition))
            {
                queryParameters.Add("response-content-disposition", responseHeaderOverrides.ContentDisposition);
            }
            if (!string.IsNullOrEmpty(responseHeaderOverrides.ContentEncoding))
            {
                queryParameters.Add("response-content-encoding", responseHeaderOverrides.ContentEncoding);
            }

            // Add custom parameters to be included and signed
            foreach (string k in getPreSignedUrlRequest.Parameters.Keys)
            {
                queryParameters.Add(k, getPreSignedUrlRequest.Parameters[k]);
            }

            request.ResourcePath   = uriResourcePath.ToString();
            request.UseQueryString = true;

            return(request);
        }
Beispiel #10
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(ModifyClusterRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.Redshift");

            request.Parameters.Add("Action", "ModifyCluster");
            request.Parameters.Add("Version", "2012-12-01");

            if (publicRequest != null)
            {
                if (publicRequest.IsSetAllowVersionUpgrade())
                {
                    request.Parameters.Add("AllowVersionUpgrade", StringUtils.FromBool(publicRequest.AllowVersionUpgrade));
                }
                if (publicRequest.IsSetAutomatedSnapshotRetentionPeriod())
                {
                    request.Parameters.Add("AutomatedSnapshotRetentionPeriod", StringUtils.FromInt(publicRequest.AutomatedSnapshotRetentionPeriod));
                }
                if (publicRequest.IsSetClusterIdentifier())
                {
                    request.Parameters.Add("ClusterIdentifier", StringUtils.FromString(publicRequest.ClusterIdentifier));
                }
                if (publicRequest.IsSetClusterParameterGroupName())
                {
                    request.Parameters.Add("ClusterParameterGroupName", StringUtils.FromString(publicRequest.ClusterParameterGroupName));
                }
                if (publicRequest.IsSetClusterSecurityGroups())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.ClusterSecurityGroups)
                    {
                        request.Parameters.Add("ClusterSecurityGroups" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
                if (publicRequest.IsSetClusterType())
                {
                    request.Parameters.Add("ClusterType", StringUtils.FromString(publicRequest.ClusterType));
                }
                if (publicRequest.IsSetClusterVersion())
                {
                    request.Parameters.Add("ClusterVersion", StringUtils.FromString(publicRequest.ClusterVersion));
                }
                if (publicRequest.IsSetElasticIp())
                {
                    request.Parameters.Add("ElasticIp", StringUtils.FromString(publicRequest.ElasticIp));
                }
                if (publicRequest.IsSetEncrypted())
                {
                    request.Parameters.Add("Encrypted", StringUtils.FromBool(publicRequest.Encrypted));
                }
                if (publicRequest.IsSetEnhancedVpcRouting())
                {
                    request.Parameters.Add("EnhancedVpcRouting", StringUtils.FromBool(publicRequest.EnhancedVpcRouting));
                }
                if (publicRequest.IsSetHsmClientCertificateIdentifier())
                {
                    request.Parameters.Add("HsmClientCertificateIdentifier", StringUtils.FromString(publicRequest.HsmClientCertificateIdentifier));
                }
                if (publicRequest.IsSetHsmConfigurationIdentifier())
                {
                    request.Parameters.Add("HsmConfigurationIdentifier", StringUtils.FromString(publicRequest.HsmConfigurationIdentifier));
                }
                if (publicRequest.IsSetKmsKeyId())
                {
                    request.Parameters.Add("KmsKeyId", StringUtils.FromString(publicRequest.KmsKeyId));
                }
                if (publicRequest.IsSetMaintenanceTrackName())
                {
                    request.Parameters.Add("MaintenanceTrackName", StringUtils.FromString(publicRequest.MaintenanceTrackName));
                }
                if (publicRequest.IsSetMasterUserPassword())
                {
                    request.Parameters.Add("MasterUserPassword", StringUtils.FromString(publicRequest.MasterUserPassword));
                }
                if (publicRequest.IsSetNewClusterIdentifier())
                {
                    request.Parameters.Add("NewClusterIdentifier", StringUtils.FromString(publicRequest.NewClusterIdentifier));
                }
                if (publicRequest.IsSetNodeType())
                {
                    request.Parameters.Add("NodeType", StringUtils.FromString(publicRequest.NodeType));
                }
                if (publicRequest.IsSetNumberOfNodes())
                {
                    request.Parameters.Add("NumberOfNodes", StringUtils.FromInt(publicRequest.NumberOfNodes));
                }
                if (publicRequest.IsSetPreferredMaintenanceWindow())
                {
                    request.Parameters.Add("PreferredMaintenanceWindow", StringUtils.FromString(publicRequest.PreferredMaintenanceWindow));
                }
                if (publicRequest.IsSetPubliclyAccessible())
                {
                    request.Parameters.Add("PubliclyAccessible", StringUtils.FromBool(publicRequest.PubliclyAccessible));
                }
                if (publicRequest.IsSetVpcSecurityGroupIds())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach (var publicRequestlistValue in publicRequest.VpcSecurityGroupIds)
                    {
                        request.Parameters.Add("VpcSecurityGroupIds" + "." + "member" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
            }
            return(request);
        }
Beispiel #11
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(StartContentModerationRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.Rekognition");
            string   target  = "RekognitionService.StartContentModeration";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetClientRequestToken())
                {
                    context.Writer.WritePropertyName("ClientRequestToken");
                    context.Writer.Write(publicRequest.ClientRequestToken);
                }

                if (publicRequest.IsSetJobTag())
                {
                    context.Writer.WritePropertyName("JobTag");
                    context.Writer.Write(publicRequest.JobTag);
                }

                if (publicRequest.IsSetMinConfidence())
                {
                    context.Writer.WritePropertyName("MinConfidence");
                    context.Writer.Write(publicRequest.MinConfidence);
                }

                if (publicRequest.IsSetNotificationChannel())
                {
                    context.Writer.WritePropertyName("NotificationChannel");
                    context.Writer.WriteObjectStart();

                    var marshaller = NotificationChannelMarshaller.Instance;
                    marshaller.Marshall(publicRequest.NotificationChannel, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetVideo())
                {
                    context.Writer.WritePropertyName("Video");
                    context.Writer.WriteObjectStart();

                    var marshaller = VideoMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Video, context);

                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #12
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(UpdateFlowSourceRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.MediaConnect");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2018-11-14";
            request.HttpMethod = "PUT";

            if (!publicRequest.IsSetFlowArn())
            {
                throw new AmazonMediaConnectException("Request object does not have required field FlowArn set");
            }
            request.AddPathResource("{flowArn}", StringUtils.FromString(publicRequest.FlowArn));
            if (!publicRequest.IsSetSourceArn())
            {
                throw new AmazonMediaConnectException("Request object does not have required field SourceArn set");
            }
            request.AddPathResource("{sourceArn}", StringUtils.FromString(publicRequest.SourceArn));
            request.ResourcePath = "/v1/flows/{flowArn}/source/{sourceArn}";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetDecryption())
                {
                    context.Writer.WritePropertyName("decryption");
                    context.Writer.WriteObjectStart();

                    var marshaller = UpdateEncryptionMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Decryption, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetDescription())
                {
                    context.Writer.WritePropertyName("description");
                    context.Writer.Write(publicRequest.Description);
                }

                if (publicRequest.IsSetEntitlementArn())
                {
                    context.Writer.WritePropertyName("entitlementArn");
                    context.Writer.Write(publicRequest.EntitlementArn);
                }

                if (publicRequest.IsSetIngestPort())
                {
                    context.Writer.WritePropertyName("ingestPort");
                    context.Writer.Write(publicRequest.IngestPort);
                }

                if (publicRequest.IsSetMaxBitrate())
                {
                    context.Writer.WritePropertyName("maxBitrate");
                    context.Writer.Write(publicRequest.MaxBitrate);
                }

                if (publicRequest.IsSetMaxLatency())
                {
                    context.Writer.WritePropertyName("maxLatency");
                    context.Writer.Write(publicRequest.MaxLatency);
                }

                if (publicRequest.IsSetMaxSyncBuffer())
                {
                    context.Writer.WritePropertyName("maxSyncBuffer");
                    context.Writer.Write(publicRequest.MaxSyncBuffer);
                }

                if (publicRequest.IsSetMediaStreamSourceConfigurations())
                {
                    context.Writer.WritePropertyName("mediaStreamSourceConfigurations");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestMediaStreamSourceConfigurationsListValue in publicRequest.MediaStreamSourceConfigurations)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = MediaStreamSourceConfigurationRequestMarshaller.Instance;
                        marshaller.Marshall(publicRequestMediaStreamSourceConfigurationsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetMinLatency())
                {
                    context.Writer.WritePropertyName("minLatency");
                    context.Writer.Write(publicRequest.MinLatency);
                }

                if (publicRequest.IsSetProtocol())
                {
                    context.Writer.WritePropertyName("protocol");
                    context.Writer.Write(publicRequest.Protocol);
                }

                if (publicRequest.IsSetSenderControlPort())
                {
                    context.Writer.WritePropertyName("senderControlPort");
                    context.Writer.Write(publicRequest.SenderControlPort);
                }

                if (publicRequest.IsSetSenderIpAddress())
                {
                    context.Writer.WritePropertyName("senderIpAddress");
                    context.Writer.Write(publicRequest.SenderIpAddress);
                }

                if (publicRequest.IsSetStreamId())
                {
                    context.Writer.WritePropertyName("streamId");
                    context.Writer.Write(publicRequest.StreamId);
                }

                if (publicRequest.IsSetVpcInterfaceName())
                {
                    context.Writer.WritePropertyName("vpcInterfaceName");
                    context.Writer.Write(publicRequest.VpcInterfaceName);
                }

                if (publicRequest.IsSetWhitelistCidr())
                {
                    context.Writer.WritePropertyName("whitelistCidr");
                    context.Writer.Write(publicRequest.WhitelistCidr);
                }

                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
        public IRequest Marshall(DescribeTrailsRequest describeTrailsRequest) 
        {

            IRequest request = new DefaultRequest(describeTrailsRequest, "AmazonCloudTrail");
            string target = "CloudTrail_20131101.DescribeTrails";
            request.Headers["X-Amz-Target"] = target;
            
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            
              
            string uriResourcePath = ""; 
            
            if (uriResourcePath.Contains("?")) 
            {
                int queryPosition = uriResourcePath.IndexOf("?", StringComparison.OrdinalIgnoreCase);
                string queryString = uriResourcePath.Substring(queryPosition + 1);
                uriResourcePath    = uriResourcePath.Substring(0, queryPosition);
        
                foreach (string s in queryString.Split('&', ';')) 
                {
                    string[] nameValuePair = s.Split('=');
                    if (nameValuePair.Length == 2 && nameValuePair[1].Length > 0) 
                    {
                        request.Parameters.Add(nameValuePair[0], nameValuePair[1]);
                    }
                    else
                    {
                        request.Parameters.Add(nameValuePair[0], null);
                    }
                }
            }
            
            request.ResourcePath = uriResourcePath;
            
             
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                

                if (describeTrailsRequest != null && describeTrailsRequest.TrailNameList != null && describeTrailsRequest.TrailNameList.Count > 0) 
                {
                    List<string> trailNameListList = describeTrailsRequest.TrailNameList;
                    writer.WritePropertyName("trailNameList");
                    writer.WriteArrayStart();

                    foreach (string trailNameListListValue in trailNameListList) 
                    { 
                        writer.Write(StringUtils.FromString(trailNameListListValue));
                    }

                    writer.WriteArrayEnd();
                }

                writer.WriteObjectEnd();
                
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }
        

            return request;
        }
Beispiel #14
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(UpdateRecordsRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.CognitoSync");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2014-06-30";
            request.HttpMethod = "POST";

            if (!publicRequest.IsSetDatasetName())
            {
                throw new AmazonCognitoSyncException("Request object does not have required field DatasetName set");
            }
            request.AddPathResource("{DatasetName}", StringUtils.FromString(publicRequest.DatasetName));
            if (!publicRequest.IsSetIdentityId())
            {
                throw new AmazonCognitoSyncException("Request object does not have required field IdentityId set");
            }
            request.AddPathResource("{IdentityId}", StringUtils.FromString(publicRequest.IdentityId));
            if (!publicRequest.IsSetIdentityPoolId())
            {
                throw new AmazonCognitoSyncException("Request object does not have required field IdentityPoolId set");
            }
            request.AddPathResource("{IdentityPoolId}", StringUtils.FromString(publicRequest.IdentityPoolId));
            request.ResourcePath = "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetDeviceId())
                {
                    context.Writer.WritePropertyName("DeviceId");
                    context.Writer.Write(publicRequest.DeviceId);
                }

                if (publicRequest.IsSetRecordPatches())
                {
                    context.Writer.WritePropertyName("RecordPatches");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestRecordPatchesListValue in publicRequest.RecordPatches)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = RecordPatchMarshaller.Instance;
                        marshaller.Marshall(publicRequestRecordPatchesListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetSyncSessionToken())
                {
                    context.Writer.WritePropertyName("SyncSessionToken");
                    context.Writer.Write(publicRequest.SyncSessionToken);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            if (publicRequest.IsSetClientContext())
            {
                request.Headers["x-amz-Client-Context"] = publicRequest.ClientContext;
            }

            return(request);
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(RunTaskRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.ECS");
            string   target  = "AmazonEC2ContainerServiceV20141113.RunTask";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetCluster())
                {
                    context.Writer.WritePropertyName("cluster");
                    context.Writer.Write(publicRequest.Cluster);
                }

                if (publicRequest.IsSetCount())
                {
                    context.Writer.WritePropertyName("count");
                    context.Writer.Write(publicRequest.Count);
                }

                if (publicRequest.IsSetGroup())
                {
                    context.Writer.WritePropertyName("group");
                    context.Writer.Write(publicRequest.Group);
                }

                if (publicRequest.IsSetNetworkConfiguration())
                {
                    context.Writer.WritePropertyName("networkConfiguration");
                    context.Writer.WriteObjectStart();

                    var marshaller = NetworkConfigurationMarshaller.Instance;
                    marshaller.Marshall(publicRequest.NetworkConfiguration, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetOverrides())
                {
                    context.Writer.WritePropertyName("overrides");
                    context.Writer.WriteObjectStart();

                    var marshaller = TaskOverrideMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Overrides, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetPlacementConstraints())
                {
                    context.Writer.WritePropertyName("placementConstraints");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestPlacementConstraintsListValue in publicRequest.PlacementConstraints)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = PlacementConstraintMarshaller.Instance;
                        marshaller.Marshall(publicRequestPlacementConstraintsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetPlacementStrategy())
                {
                    context.Writer.WritePropertyName("placementStrategy");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestPlacementStrategyListValue in publicRequest.PlacementStrategy)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = PlacementStrategyMarshaller.Instance;
                        marshaller.Marshall(publicRequestPlacementStrategyListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetStartedBy())
                {
                    context.Writer.WritePropertyName("startedBy");
                    context.Writer.Write(publicRequest.StartedBy);
                }

                if (publicRequest.IsSetTaskDefinition())
                {
                    context.Writer.WritePropertyName("taskDefinition");
                    context.Writer.Write(publicRequest.TaskDefinition);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
        public IRequest Marshall(PutBucketWebsiteRequest putBucketWebsiteRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_0420: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putBucketWebsiteRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketWebsiteRequest.BucketName));
            val.AddSubResource("website");
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                WebsiteConfiguration websiteConfiguration = putBucketWebsiteRequest.WebsiteConfiguration;
                if (websiteConfiguration != null)
                {
                    xmlWriter.WriteStartElement("WebsiteConfiguration", "");
                    if (websiteConfiguration != null)
                    {
                        string errorDocument = websiteConfiguration.ErrorDocument;
                        if (errorDocument != null)
                        {
                            xmlWriter.WriteStartElement("ErrorDocument", "");
                            xmlWriter.WriteElementString("Key", "", S3Transforms.ToXmlStringValue(errorDocument));
                            xmlWriter.WriteEndElement();
                        }
                    }
                    if (websiteConfiguration != null)
                    {
                        string indexDocumentSuffix = websiteConfiguration.IndexDocumentSuffix;
                        if (indexDocumentSuffix != null)
                        {
                            xmlWriter.WriteStartElement("IndexDocument", "");
                            xmlWriter.WriteElementString("Suffix", "", S3Transforms.ToXmlStringValue(indexDocumentSuffix));
                            xmlWriter.WriteEndElement();
                        }
                    }
                    if (websiteConfiguration != null)
                    {
                        RoutingRuleRedirect redirectAllRequestsTo = websiteConfiguration.RedirectAllRequestsTo;
                        if (redirectAllRequestsTo != null)
                        {
                            xmlWriter.WriteStartElement("RedirectAllRequestsTo", "");
                            if (redirectAllRequestsTo.IsSetHostName())
                            {
                                xmlWriter.WriteElementString("HostName", "", S3Transforms.ToXmlStringValue(redirectAllRequestsTo.HostName));
                            }
                            if (redirectAllRequestsTo.IsSetHttpRedirectCode())
                            {
                                xmlWriter.WriteElementString("HttpRedirectCode", "", S3Transforms.ToXmlStringValue(redirectAllRequestsTo.HttpRedirectCode));
                            }
                            if (redirectAllRequestsTo.IsSetProtocol())
                            {
                                xmlWriter.WriteElementString("Protocol", "", S3Transforms.ToXmlStringValue(redirectAllRequestsTo.Protocol));
                            }
                            if (redirectAllRequestsTo.IsSetReplaceKeyPrefixWith())
                            {
                                xmlWriter.WriteElementString("ReplaceKeyPrefixWith", "", S3Transforms.ToXmlStringValue(redirectAllRequestsTo.ReplaceKeyPrefixWith));
                            }
                            if (redirectAllRequestsTo.IsSetReplaceKeyWith())
                            {
                                xmlWriter.WriteElementString("ReplaceKeyWith", "", S3Transforms.ToXmlStringValue(redirectAllRequestsTo.ReplaceKeyWith));
                            }
                            xmlWriter.WriteEndElement();
                        }
                    }
                    if (websiteConfiguration != null)
                    {
                        List <RoutingRule> routingRules = websiteConfiguration.RoutingRules;
                        if (routingRules != null && routingRules.Count > 0)
                        {
                            xmlWriter.WriteStartElement("RoutingRules", "");
                            foreach (RoutingRule item in routingRules)
                            {
                                xmlWriter.WriteStartElement("RoutingRule", "");
                                if (item != null)
                                {
                                    RoutingRuleCondition condition = item.Condition;
                                    if (condition != null)
                                    {
                                        xmlWriter.WriteStartElement("Condition", "");
                                        if (condition.IsSetHttpErrorCodeReturnedEquals())
                                        {
                                            xmlWriter.WriteElementString("HttpErrorCodeReturnedEquals", "", S3Transforms.ToXmlStringValue(condition.HttpErrorCodeReturnedEquals));
                                        }
                                        if (condition.IsSetKeyPrefixEquals())
                                        {
                                            xmlWriter.WriteElementString("KeyPrefixEquals", "", S3Transforms.ToXmlStringValue(condition.KeyPrefixEquals));
                                        }
                                        xmlWriter.WriteEndElement();
                                    }
                                }
                                if (item != null)
                                {
                                    RoutingRuleRedirect redirect = item.Redirect;
                                    if (redirect != null)
                                    {
                                        xmlWriter.WriteStartElement("Redirect", "");
                                        if (redirect.IsSetHostName())
                                        {
                                            xmlWriter.WriteElementString("HostName", "", S3Transforms.ToXmlStringValue(redirect.HostName));
                                        }
                                        if (redirect.IsSetHttpRedirectCode())
                                        {
                                            xmlWriter.WriteElementString("HttpRedirectCode", "", S3Transforms.ToXmlStringValue(redirect.HttpRedirectCode));
                                        }
                                        if (redirect.IsSetProtocol())
                                        {
                                            xmlWriter.WriteElementString("Protocol", "", S3Transforms.ToXmlStringValue(redirect.Protocol));
                                        }
                                        if (redirect.IsSetReplaceKeyPrefixWith())
                                        {
                                            xmlWriter.WriteElementString("ReplaceKeyPrefixWith", "", S3Transforms.ToXmlStringValue(redirect.ReplaceKeyPrefixWith));
                                        }
                                        if (redirect.IsSetReplaceKeyWith())
                                        {
                                            xmlWriter.WriteElementString("ReplaceKeyWith", "", S3Transforms.ToXmlStringValue(redirect.ReplaceKeyWith));
                                        }
                                        xmlWriter.WriteEndElement();
                                    }
                                }
                                xmlWriter.WriteEndElement();
                            }
                            xmlWriter.WriteEndElement();
                        }
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
Beispiel #17
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateStackRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.OpsWorks");
            string   target  = "OpsWorks_20130218.CreateStack";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2013-02-18";
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAgentVersion())
                {
                    context.Writer.WritePropertyName("AgentVersion");
                    context.Writer.Write(publicRequest.AgentVersion);
                }

                if (publicRequest.IsSetAttributes())
                {
                    context.Writer.WritePropertyName("Attributes");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestAttributesKvp in publicRequest.Attributes)
                    {
                        context.Writer.WritePropertyName(publicRequestAttributesKvp.Key);
                        var publicRequestAttributesValue = publicRequestAttributesKvp.Value;

                        context.Writer.Write(publicRequestAttributesValue);
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetChefConfiguration())
                {
                    context.Writer.WritePropertyName("ChefConfiguration");
                    context.Writer.WriteObjectStart();

                    var marshaller = ChefConfigurationMarshaller.Instance;
                    marshaller.Marshall(publicRequest.ChefConfiguration, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetConfigurationManager())
                {
                    context.Writer.WritePropertyName("ConfigurationManager");
                    context.Writer.WriteObjectStart();

                    var marshaller = StackConfigurationManagerMarshaller.Instance;
                    marshaller.Marshall(publicRequest.ConfigurationManager, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetCustomCookbooksSource())
                {
                    context.Writer.WritePropertyName("CustomCookbooksSource");
                    context.Writer.WriteObjectStart();

                    var marshaller = SourceMarshaller.Instance;
                    marshaller.Marshall(publicRequest.CustomCookbooksSource, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetCustomJson())
                {
                    context.Writer.WritePropertyName("CustomJson");
                    context.Writer.Write(publicRequest.CustomJson);
                }

                if (publicRequest.IsSetDefaultAvailabilityZone())
                {
                    context.Writer.WritePropertyName("DefaultAvailabilityZone");
                    context.Writer.Write(publicRequest.DefaultAvailabilityZone);
                }

                if (publicRequest.IsSetDefaultInstanceProfileArn())
                {
                    context.Writer.WritePropertyName("DefaultInstanceProfileArn");
                    context.Writer.Write(publicRequest.DefaultInstanceProfileArn);
                }

                if (publicRequest.IsSetDefaultOs())
                {
                    context.Writer.WritePropertyName("DefaultOs");
                    context.Writer.Write(publicRequest.DefaultOs);
                }

                if (publicRequest.IsSetDefaultRootDeviceType())
                {
                    context.Writer.WritePropertyName("DefaultRootDeviceType");
                    context.Writer.Write(publicRequest.DefaultRootDeviceType);
                }

                if (publicRequest.IsSetDefaultSshKeyName())
                {
                    context.Writer.WritePropertyName("DefaultSshKeyName");
                    context.Writer.Write(publicRequest.DefaultSshKeyName);
                }

                if (publicRequest.IsSetDefaultSubnetId())
                {
                    context.Writer.WritePropertyName("DefaultSubnetId");
                    context.Writer.Write(publicRequest.DefaultSubnetId);
                }

                if (publicRequest.IsSetHostnameTheme())
                {
                    context.Writer.WritePropertyName("HostnameTheme");
                    context.Writer.Write(publicRequest.HostnameTheme);
                }

                if (publicRequest.IsSetName())
                {
                    context.Writer.WritePropertyName("Name");
                    context.Writer.Write(publicRequest.Name);
                }

                if (publicRequest.IsSetRegion())
                {
                    context.Writer.WritePropertyName("Region");
                    context.Writer.Write(publicRequest.Region);
                }

                if (publicRequest.IsSetServiceRoleArn())
                {
                    context.Writer.WritePropertyName("ServiceRoleArn");
                    context.Writer.Write(publicRequest.ServiceRoleArn);
                }

                if (publicRequest.IsSetUseCustomCookbooks())
                {
                    context.Writer.WritePropertyName("UseCustomCookbooks");
                    context.Writer.Write(publicRequest.UseCustomCookbooks);
                }

                if (publicRequest.IsSetUseOpsworksSecurityGroups())
                {
                    context.Writer.WritePropertyName("UseOpsworksSecurityGroups");
                    context.Writer.Write(publicRequest.UseOpsworksSecurityGroups);
                }

                if (publicRequest.IsSetVpcId())
                {
                    context.Writer.WritePropertyName("VpcId");
                    context.Writer.Write(publicRequest.VpcId);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #18
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(ListProjectsRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.SageMaker");
            string   target  = "SageMaker.ListProjects";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2017-07-24";
            request.HttpMethod = "POST";

            request.ResourcePath      = "/";
            request.MarshallerVersion = 2;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetCreationTimeAfter())
                {
                    context.Writer.WritePropertyName("CreationTimeAfter");
                    context.Writer.Write(publicRequest.CreationTimeAfter);
                }

                if (publicRequest.IsSetCreationTimeBefore())
                {
                    context.Writer.WritePropertyName("CreationTimeBefore");
                    context.Writer.Write(publicRequest.CreationTimeBefore);
                }

                if (publicRequest.IsSetMaxResults())
                {
                    context.Writer.WritePropertyName("MaxResults");
                    context.Writer.Write(publicRequest.MaxResults);
                }

                if (publicRequest.IsSetNameContains())
                {
                    context.Writer.WritePropertyName("NameContains");
                    context.Writer.Write(publicRequest.NameContains);
                }

                if (publicRequest.IsSetNextToken())
                {
                    context.Writer.WritePropertyName("NextToken");
                    context.Writer.Write(publicRequest.NextToken);
                }

                if (publicRequest.IsSetSortBy())
                {
                    context.Writer.WritePropertyName("SortBy");
                    context.Writer.Write(publicRequest.SortBy);
                }

                if (publicRequest.IsSetSortOrder())
                {
                    context.Writer.WritePropertyName("SortOrder");
                    context.Writer.Write(publicRequest.SortOrder);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
        public IRequest Marshall(DefineIndexFieldRequest defineIndexFieldRequest)
        {
            IRequest request = new DefaultRequest(defineIndexFieldRequest, "AmazonCloudSearch");

            request.Parameters.Add("Action", "DefineIndexField");
            request.Parameters.Add("Version", "2011-02-01");
            if (defineIndexFieldRequest != null && defineIndexFieldRequest.IsSetDomainName())
            {
                request.Parameters.Add("DomainName", StringUtils.FromString(defineIndexFieldRequest.DomainName));
            }
            if (defineIndexFieldRequest != null)
            {
                IndexField indexField = defineIndexFieldRequest.IndexField;
                if (indexField != null && indexField.IsSetIndexFieldName())
                {
                    request.Parameters.Add("IndexField.IndexFieldName", StringUtils.FromString(indexField.IndexFieldName));
                }
                if (indexField != null && indexField.IsSetIndexFieldType())
                {
                    request.Parameters.Add("IndexField.IndexFieldType", StringUtils.FromString(indexField.IndexFieldType));
                }
                if (indexField != null)
                {
                    UIntOptions uIntOptions = indexField.UIntOptions;
                    if (uIntOptions != null && uIntOptions.IsSetDefaultValue())
                    {
                        request.Parameters.Add("IndexField.UIntOptions.DefaultValue", StringUtils.FromInt(uIntOptions.DefaultValue));
                    }
                }
                if (indexField != null)
                {
                    LiteralOptions literalOptions = indexField.LiteralOptions;
                    if (literalOptions != null && literalOptions.IsSetDefaultValue())
                    {
                        request.Parameters.Add("IndexField.LiteralOptions.DefaultValue", StringUtils.FromString(literalOptions.DefaultValue));
                    }
                    if (literalOptions != null && literalOptions.IsSetSearchEnabled())
                    {
                        request.Parameters.Add("IndexField.LiteralOptions.SearchEnabled", StringUtils.FromBool(literalOptions.SearchEnabled));
                    }
                    if (literalOptions != null && literalOptions.IsSetFacetEnabled())
                    {
                        request.Parameters.Add("IndexField.LiteralOptions.FacetEnabled", StringUtils.FromBool(literalOptions.FacetEnabled));
                    }
                    if (literalOptions != null && literalOptions.IsSetResultEnabled())
                    {
                        request.Parameters.Add("IndexField.LiteralOptions.ResultEnabled", StringUtils.FromBool(literalOptions.ResultEnabled));
                    }
                }
                if (indexField != null)
                {
                    TextOptions textOptions = indexField.TextOptions;
                    if (textOptions != null && textOptions.IsSetDefaultValue())
                    {
                        request.Parameters.Add("IndexField.TextOptions.DefaultValue", StringUtils.FromString(textOptions.DefaultValue));
                    }
                    if (textOptions != null && textOptions.IsSetFacetEnabled())
                    {
                        request.Parameters.Add("IndexField.TextOptions.FacetEnabled", StringUtils.FromBool(textOptions.FacetEnabled));
                    }
                    if (textOptions != null && textOptions.IsSetResultEnabled())
                    {
                        request.Parameters.Add("IndexField.TextOptions.ResultEnabled", StringUtils.FromBool(textOptions.ResultEnabled));
                    }
                    if (textOptions != null && textOptions.IsSetTextProcessor())
                    {
                        request.Parameters.Add("IndexField.TextOptions.TextProcessor", StringUtils.FromString(textOptions.TextProcessor));
                    }
                }

                if (indexField != null)
                {
                    List <SourceAttribute> sourceAttributesList = indexField.SourceAttributes;
                    int sourceAttributesListIndex = 1;
                    foreach (SourceAttribute sourceAttributesListValue in sourceAttributesList)
                    {
                        if (sourceAttributesListValue != null && sourceAttributesListValue.IsSetSourceDataFunction())
                        {
                            request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataFunction", StringUtils.FromString(sourceAttributesListValue.SourceDataFunction));
                        }
                        if (sourceAttributesListValue != null)
                        {
                            SourceData sourceDataCopy = sourceAttributesListValue.SourceDataCopy;
                            if (sourceDataCopy != null && sourceDataCopy.IsSetSourceName())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataCopy.SourceName", StringUtils.FromString(sourceDataCopy.SourceName));
                            }
                            if (sourceDataCopy != null && sourceDataCopy.IsSetDefaultValue())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataCopy.DefaultValue", StringUtils.FromString(sourceDataCopy.DefaultValue));
                            }
                        }
                        if (sourceAttributesListValue != null)
                        {
                            SourceDataTrimTitle sourceDataTrimTitle = sourceAttributesListValue.SourceDataTrimTitle;
                            if (sourceDataTrimTitle != null && sourceDataTrimTitle.IsSetSourceName())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataTrimTitle.SourceName", StringUtils.FromString(sourceDataTrimTitle.SourceName));
                            }
                            if (sourceDataTrimTitle != null && sourceDataTrimTitle.IsSetDefaultValue())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataTrimTitle.DefaultValue", StringUtils.FromString(sourceDataTrimTitle.DefaultValue));
                            }
                            if (sourceDataTrimTitle != null && sourceDataTrimTitle.IsSetSeparator())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataTrimTitle.Separator", StringUtils.FromString(sourceDataTrimTitle.Separator));
                            }
                            if (sourceDataTrimTitle != null && sourceDataTrimTitle.IsSetLanguage())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataTrimTitle.Language", StringUtils.FromString(sourceDataTrimTitle.Language));
                            }
                        }
                        if (sourceAttributesListValue != null)
                        {
                            SourceDataMap sourceDataMap = sourceAttributesListValue.SourceDataMap;
                            if (sourceDataMap != null && sourceDataMap.IsSetSourceName())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataMap.SourceName", StringUtils.FromString(sourceDataMap.SourceName));
                            }
                            if (sourceDataMap != null && sourceDataMap.IsSetDefaultValue())
                            {
                                request.Parameters.Add("IndexField.SourceAttributes.member." + sourceAttributesListIndex + ".SourceDataMap.DefaultValue", StringUtils.FromString(sourceDataMap.DefaultValue));
                            }
                            if (sourceDataMap != null)
                            {
                                if (sourceDataMap.Cases != null)
                                {
                                    int casesListIndex = 1;
                                    foreach (string key in sourceDataMap.Cases.Keys)
                                    {
                                        string value;
                                        bool   hasValue = sourceDataMap.Cases.TryGetValue(key, out value);
                                        request.Parameters.Add("Cases.entry." + casesListIndex + ".key", StringUtils.FromString(key));
                                        if (hasValue)
                                        {
                                            request.Parameters.Add("Cases.entry." + casesListIndex + ".value", StringUtils.FromString(value));
                                        }
                                        ++casesListIndex;
                                    }
                                }
                            }
                        }

                        sourceAttributesListIndex++;
                    }
                }
            }

            return(request);
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(UpdateUserPoolRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.CognitoIdentityProvider");
            string   target  = "AWSCognitoIdentityProviderService.UpdateUserPool";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAutoVerifiedAttributes())
                {
                    context.Writer.WritePropertyName("AutoVerifiedAttributes");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestAutoVerifiedAttributesListValue in publicRequest.AutoVerifiedAttributes)
                    {
                        context.Writer.Write(publicRequestAutoVerifiedAttributesListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetDeviceConfiguration())
                {
                    context.Writer.WritePropertyName("DeviceConfiguration");
                    context.Writer.WriteObjectStart();

                    var marshaller = DeviceConfigurationTypeMarshaller.Instance;
                    marshaller.Marshall(publicRequest.DeviceConfiguration, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetEmailConfiguration())
                {
                    context.Writer.WritePropertyName("EmailConfiguration");
                    context.Writer.WriteObjectStart();

                    var marshaller = EmailConfigurationTypeMarshaller.Instance;
                    marshaller.Marshall(publicRequest.EmailConfiguration, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetEmailVerificationMessage())
                {
                    context.Writer.WritePropertyName("EmailVerificationMessage");
                    context.Writer.Write(publicRequest.EmailVerificationMessage);
                }

                if (publicRequest.IsSetEmailVerificationSubject())
                {
                    context.Writer.WritePropertyName("EmailVerificationSubject");
                    context.Writer.Write(publicRequest.EmailVerificationSubject);
                }

                if (publicRequest.IsSetLambdaConfig())
                {
                    context.Writer.WritePropertyName("LambdaConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = LambdaConfigTypeMarshaller.Instance;
                    marshaller.Marshall(publicRequest.LambdaConfig, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetMfaConfiguration())
                {
                    context.Writer.WritePropertyName("MfaConfiguration");
                    context.Writer.Write(publicRequest.MfaConfiguration);
                }

                if (publicRequest.IsSetPolicies())
                {
                    context.Writer.WritePropertyName("Policies");
                    context.Writer.WriteObjectStart();

                    var marshaller = UserPoolPolicyTypeMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Policies, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetSmsAuthenticationMessage())
                {
                    context.Writer.WritePropertyName("SmsAuthenticationMessage");
                    context.Writer.Write(publicRequest.SmsAuthenticationMessage);
                }

                if (publicRequest.IsSetSmsConfiguration())
                {
                    context.Writer.WritePropertyName("SmsConfiguration");
                    context.Writer.WriteObjectStart();

                    var marshaller = SmsConfigurationTypeMarshaller.Instance;
                    marshaller.Marshall(publicRequest.SmsConfiguration, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetSmsVerificationMessage())
                {
                    context.Writer.WritePropertyName("SmsVerificationMessage");
                    context.Writer.Write(publicRequest.SmsVerificationMessage);
                }

                if (publicRequest.IsSetUserPoolId())
                {
                    context.Writer.WritePropertyName("UserPoolId");
                    context.Writer.Write(publicRequest.UserPoolId);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #21
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreatePullRequestRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.CodeCommit");
            string   target  = "CodeCommit_20150413.CreatePullRequest";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-04-13";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetClientRequestToken())
                {
                    context.Writer.WritePropertyName("clientRequestToken");
                    context.Writer.Write(publicRequest.ClientRequestToken);
                }

                else if (!(publicRequest.IsSetClientRequestToken()))
                {
                    context.Writer.WritePropertyName("clientRequestToken");
                    context.Writer.Write(Guid.NewGuid().ToString());
                }
                if (publicRequest.IsSetDescription())
                {
                    context.Writer.WritePropertyName("description");
                    context.Writer.Write(publicRequest.Description);
                }

                if (publicRequest.IsSetTargets())
                {
                    context.Writer.WritePropertyName("targets");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTargetsListValue in publicRequest.Targets)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TargetMarshaller.Instance;
                        marshaller.Marshall(publicRequestTargetsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetTitle())
                {
                    context.Writer.WritePropertyName("title");
                    context.Writer.Write(publicRequest.Title);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #22
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(PutBotRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.LexModelBuildingService");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2017-04-19";
            request.HttpMethod = "PUT";

            if (!publicRequest.IsSetName())
            {
                throw new AmazonLexModelBuildingServiceException("Request object does not have required field Name set");
            }
            request.AddPathResource("{name}", StringUtils.FromString(publicRequest.Name));
            request.ResourcePath      = "/bots/{name}/versions/$LATEST";
            request.MarshallerVersion = 2;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAbortStatement())
                {
                    context.Writer.WritePropertyName("abortStatement");
                    context.Writer.WriteObjectStart();

                    var marshaller = StatementMarshaller.Instance;
                    marshaller.Marshall(publicRequest.AbortStatement, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetChecksum())
                {
                    context.Writer.WritePropertyName("checksum");
                    context.Writer.Write(publicRequest.Checksum);
                }

                if (publicRequest.IsSetChildDirected())
                {
                    context.Writer.WritePropertyName("childDirected");
                    context.Writer.Write(publicRequest.ChildDirected);
                }

                if (publicRequest.IsSetClarificationPrompt())
                {
                    context.Writer.WritePropertyName("clarificationPrompt");
                    context.Writer.WriteObjectStart();

                    var marshaller = PromptMarshaller.Instance;
                    marshaller.Marshall(publicRequest.ClarificationPrompt, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetCreateVersion())
                {
                    context.Writer.WritePropertyName("createVersion");
                    context.Writer.Write(publicRequest.CreateVersion);
                }

                if (publicRequest.IsSetDescription())
                {
                    context.Writer.WritePropertyName("description");
                    context.Writer.Write(publicRequest.Description);
                }

                if (publicRequest.IsSetDetectSentiment())
                {
                    context.Writer.WritePropertyName("detectSentiment");
                    context.Writer.Write(publicRequest.DetectSentiment);
                }

                if (publicRequest.IsSetEnableModelImprovements())
                {
                    context.Writer.WritePropertyName("enableModelImprovements");
                    context.Writer.Write(publicRequest.EnableModelImprovements);
                }

                if (publicRequest.IsSetIdleSessionTTLInSeconds())
                {
                    context.Writer.WritePropertyName("idleSessionTTLInSeconds");
                    context.Writer.Write(publicRequest.IdleSessionTTLInSeconds);
                }

                if (publicRequest.IsSetIntents())
                {
                    context.Writer.WritePropertyName("intents");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestIntentsListValue in publicRequest.Intents)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = IntentMarshaller.Instance;
                        marshaller.Marshall(publicRequestIntentsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetLocale())
                {
                    context.Writer.WritePropertyName("locale");
                    context.Writer.Write(publicRequest.Locale);
                }

                if (publicRequest.IsSetNluIntentConfidenceThreshold())
                {
                    context.Writer.WritePropertyName("nluIntentConfidenceThreshold");
                    context.Writer.Write(publicRequest.NluIntentConfidenceThreshold);
                }

                if (publicRequest.IsSetProcessBehavior())
                {
                    context.Writer.WritePropertyName("processBehavior");
                    context.Writer.Write(publicRequest.ProcessBehavior);
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("tags");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTagsListValue in publicRequest.Tags)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TagMarshaller.Instance;
                        marshaller.Marshall(publicRequestTagsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetVoiceId())
                {
                    context.Writer.WritePropertyName("voiceId");
                    context.Writer.Write(publicRequest.VoiceId);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #23
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(GetReservationUtilizationRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.CostExplorer");
            string   target  = "AWSInsightsIndexService.GetReservationUtilization";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2017-10-25";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetFilter())
                {
                    context.Writer.WritePropertyName("Filter");
                    context.Writer.WriteObjectStart();

                    var marshaller = ExpressionMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Filter, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetGranularity())
                {
                    context.Writer.WritePropertyName("Granularity");
                    context.Writer.Write(publicRequest.Granularity);
                }

                if (publicRequest.IsSetGroupBy())
                {
                    context.Writer.WritePropertyName("GroupBy");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestGroupByListValue in publicRequest.GroupBy)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = GroupDefinitionMarshaller.Instance;
                        marshaller.Marshall(publicRequestGroupByListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetNextPageToken())
                {
                    context.Writer.WritePropertyName("NextPageToken");
                    context.Writer.Write(publicRequest.NextPageToken);
                }

                if (publicRequest.IsSetTimePeriod())
                {
                    context.Writer.WritePropertyName("TimePeriod");
                    context.Writer.WriteObjectStart();

                    var marshaller = DateIntervalMarshaller.Instance;
                    marshaller.Marshall(publicRequest.TimePeriod, context);

                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #24
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(StartGameSessionPlacementRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.GameLift");
            string   target  = "GameLift.StartGameSessionPlacement";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-10-01";
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetDesiredPlayerSessions())
                {
                    context.Writer.WritePropertyName("DesiredPlayerSessions");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestDesiredPlayerSessionsListValue in publicRequest.DesiredPlayerSessions)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = DesiredPlayerSessionMarshaller.Instance;
                        marshaller.Marshall(publicRequestDesiredPlayerSessionsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetGameProperties())
                {
                    context.Writer.WritePropertyName("GameProperties");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestGamePropertiesListValue in publicRequest.GameProperties)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = GamePropertyMarshaller.Instance;
                        marshaller.Marshall(publicRequestGamePropertiesListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetGameSessionData())
                {
                    context.Writer.WritePropertyName("GameSessionData");
                    context.Writer.Write(publicRequest.GameSessionData);
                }

                if (publicRequest.IsSetGameSessionName())
                {
                    context.Writer.WritePropertyName("GameSessionName");
                    context.Writer.Write(publicRequest.GameSessionName);
                }

                if (publicRequest.IsSetGameSessionQueueName())
                {
                    context.Writer.WritePropertyName("GameSessionQueueName");
                    context.Writer.Write(publicRequest.GameSessionQueueName);
                }

                if (publicRequest.IsSetMaximumPlayerSessionCount())
                {
                    context.Writer.WritePropertyName("MaximumPlayerSessionCount");
                    context.Writer.Write(publicRequest.MaximumPlayerSessionCount);
                }

                if (publicRequest.IsSetPlacementId())
                {
                    context.Writer.WritePropertyName("PlacementId");
                    context.Writer.Write(publicRequest.PlacementId);
                }

                if (publicRequest.IsSetPlayerLatencies())
                {
                    context.Writer.WritePropertyName("PlayerLatencies");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestPlayerLatenciesListValue in publicRequest.PlayerLatencies)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = PlayerLatencyMarshaller.Instance;
                        marshaller.Marshall(publicRequestPlayerLatenciesListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #25
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateDashboardRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.QuickSight");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2018-04-01";
            request.HttpMethod = "POST";

            if (!publicRequest.IsSetAwsAccountId())
            {
                throw new AmazonQuickSightException("Request object does not have required field AwsAccountId set");
            }
            request.AddPathResource("{AwsAccountId}", StringUtils.FromString(publicRequest.AwsAccountId));
            if (!publicRequest.IsSetDashboardId())
            {
                throw new AmazonQuickSightException("Request object does not have required field DashboardId set");
            }
            request.AddPathResource("{DashboardId}", StringUtils.FromString(publicRequest.DashboardId));
            request.ResourcePath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetDashboardPublishOptions())
                {
                    context.Writer.WritePropertyName("DashboardPublishOptions");
                    context.Writer.WriteObjectStart();

                    var marshaller = DashboardPublishOptionsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.DashboardPublishOptions, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetName())
                {
                    context.Writer.WritePropertyName("Name");
                    context.Writer.Write(publicRequest.Name);
                }

                if (publicRequest.IsSetParameters())
                {
                    context.Writer.WritePropertyName("Parameters");
                    context.Writer.WriteObjectStart();

                    var marshaller = ParametersMarshaller.Instance;
                    marshaller.Marshall(publicRequest.Parameters, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetPermissions())
                {
                    context.Writer.WritePropertyName("Permissions");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestPermissionsListValue in publicRequest.Permissions)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = ResourcePermissionMarshaller.Instance;
                        marshaller.Marshall(publicRequestPermissionsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetSourceEntity())
                {
                    context.Writer.WritePropertyName("SourceEntity");
                    context.Writer.WriteObjectStart();

                    var marshaller = DashboardSourceEntityMarshaller.Instance;
                    marshaller.Marshall(publicRequest.SourceEntity, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("Tags");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTagsListValue in publicRequest.Tags)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TagMarshaller.Instance;
                        marshaller.Marshall(publicRequestTagsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetThemeArn())
                {
                    context.Writer.WritePropertyName("ThemeArn");
                    context.Writer.Write(publicRequest.ThemeArn);
                }

                if (publicRequest.IsSetVersionDescription())
                {
                    context.Writer.WritePropertyName("VersionDescription");
                    context.Writer.Write(publicRequest.VersionDescription);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #26
0
        public IRequest Marshall(DeleteItemRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.DynamoDBv2");
            string   target  = "DynamoDB_20120810.DeleteItem";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.0";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetConditionalOperator())
                {
                    context.Writer.WritePropertyName("ConditionalOperator");
                    context.Writer.Write(publicRequest.ConditionalOperator);
                }

                if (publicRequest.IsSetExpected())
                {
                    context.Writer.WritePropertyName("Expected");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestExpectedKvp in publicRequest.Expected)
                    {
                        context.Writer.WritePropertyName(publicRequestExpectedKvp.Key);
                        var publicRequestExpectedValue = publicRequestExpectedKvp.Value;

                        context.Writer.WriteObjectStart();

                        var marshaller = ExpectedAttributeValueMarshaller.Instance;
                        marshaller.Marshall(publicRequestExpectedValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetKey())
                {
                    context.Writer.WritePropertyName("Key");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestKeyKvp in publicRequest.Key)
                    {
                        context.Writer.WritePropertyName(publicRequestKeyKvp.Key);
                        var publicRequestKeyValue = publicRequestKeyKvp.Value;

                        context.Writer.WriteObjectStart();

                        var marshaller = AttributeValueMarshaller.Instance;
                        marshaller.Marshall(publicRequestKeyValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetReturnConsumedCapacity())
                {
                    context.Writer.WritePropertyName("ReturnConsumedCapacity");
                    context.Writer.Write(publicRequest.ReturnConsumedCapacity);
                }

                if (publicRequest.IsSetReturnItemCollectionMetrics())
                {
                    context.Writer.WritePropertyName("ReturnItemCollectionMetrics");
                    context.Writer.Write(publicRequest.ReturnItemCollectionMetrics);
                }

                if (publicRequest.IsSetReturnValues())
                {
                    context.Writer.WritePropertyName("ReturnValues");
                    context.Writer.Write(publicRequest.ReturnValues);
                }

                if (publicRequest.IsSetTableName())
                {
                    context.Writer.WritePropertyName("TableName");
                    context.Writer.Write(publicRequest.TableName);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #27
0
        public IRequest Marshall(CreateCacheClusterRequest createCacheClusterRequest)
        {
            IRequest request = new DefaultRequest(createCacheClusterRequest, "AmazonElastiCache");
            request.Parameters.Add("Action", "CreateCacheCluster");
            request.Parameters.Add("Version", "2012-03-09");
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetCacheClusterId())
            {
                request.Parameters.Add("CacheClusterId", StringUtils.FromString(createCacheClusterRequest.CacheClusterId));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetNumCacheNodes())
            {
                request.Parameters.Add("NumCacheNodes", StringUtils.FromInt(createCacheClusterRequest.NumCacheNodes));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetCacheNodeType())
            {
                request.Parameters.Add("CacheNodeType", StringUtils.FromString(createCacheClusterRequest.CacheNodeType));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetEngine())
            {
                request.Parameters.Add("Engine", StringUtils.FromString(createCacheClusterRequest.Engine));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetEngineVersion())
            {
                request.Parameters.Add("EngineVersion", StringUtils.FromString(createCacheClusterRequest.EngineVersion));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetCacheParameterGroupName())
            {
                request.Parameters.Add("CacheParameterGroupName", StringUtils.FromString(createCacheClusterRequest.CacheParameterGroupName));
            }
            if (createCacheClusterRequest != null)
            {
                List<string> cacheSecurityGroupNamesList = createCacheClusterRequest.CacheSecurityGroupNames;

                int cacheSecurityGroupNamesListIndex = 1;
                foreach (string cacheSecurityGroupNamesListValue in cacheSecurityGroupNamesList)
                { 
                    request.Parameters.Add("CacheSecurityGroupNames.member." + cacheSecurityGroupNamesListIndex, StringUtils.FromString(cacheSecurityGroupNamesListValue));
                    cacheSecurityGroupNamesListIndex++;
                }
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetPreferredAvailabilityZone())
            {
                request.Parameters.Add("PreferredAvailabilityZone", StringUtils.FromString(createCacheClusterRequest.PreferredAvailabilityZone));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetPreferredMaintenanceWindow())
            {
                request.Parameters.Add("PreferredMaintenanceWindow", StringUtils.FromString(createCacheClusterRequest.PreferredMaintenanceWindow));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetPort())
            {
                request.Parameters.Add("Port", StringUtils.FromInt(createCacheClusterRequest.Port));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetNotificationTopicArn())
            {
                request.Parameters.Add("NotificationTopicArn", StringUtils.FromString(createCacheClusterRequest.NotificationTopicArn));
            }
            if (createCacheClusterRequest != null && createCacheClusterRequest.IsSetAutoMinorVersionUpgrade())
            {
                request.Parameters.Add("AutoMinorVersionUpgrade", StringUtils.FromBool(createCacheClusterRequest.AutoMinorVersionUpgrade));
            }

            return request;
        }
Beispiel #28
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateMicrosoftADRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.DirectoryService");
            string   target  = "DirectoryService_20150416.CreateMicrosoftAD";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetDescription())
                {
                    context.Writer.WritePropertyName("Description");
                    context.Writer.Write(publicRequest.Description);
                }

                if (publicRequest.IsSetEdition())
                {
                    context.Writer.WritePropertyName("Edition");
                    context.Writer.Write(publicRequest.Edition);
                }

                if (publicRequest.IsSetName())
                {
                    context.Writer.WritePropertyName("Name");
                    context.Writer.Write(publicRequest.Name);
                }

                if (publicRequest.IsSetPassword())
                {
                    context.Writer.WritePropertyName("Password");
                    context.Writer.Write(publicRequest.Password);
                }

                if (publicRequest.IsSetShortName())
                {
                    context.Writer.WritePropertyName("ShortName");
                    context.Writer.Write(publicRequest.ShortName);
                }

                if (publicRequest.IsSetVpcSettings())
                {
                    context.Writer.WritePropertyName("VpcSettings");
                    context.Writer.WriteObjectStart();

                    var marshaller = DirectoryVpcSettingsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.VpcSettings, context);

                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #29
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(UpdateAnswerRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.WellArchitected");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2020-03-31";
            request.HttpMethod = "PATCH";

            if (!publicRequest.IsSetLensAlias())
            {
                throw new AmazonWellArchitectedException("Request object does not have required field LensAlias set");
            }
            request.AddPathResource("{LensAlias}", StringUtils.FromString(publicRequest.LensAlias));
            if (!publicRequest.IsSetQuestionId())
            {
                throw new AmazonWellArchitectedException("Request object does not have required field QuestionId set");
            }
            request.AddPathResource("{QuestionId}", StringUtils.FromString(publicRequest.QuestionId));
            if (!publicRequest.IsSetWorkloadId())
            {
                throw new AmazonWellArchitectedException("Request object does not have required field WorkloadId set");
            }
            request.AddPathResource("{WorkloadId}", StringUtils.FromString(publicRequest.WorkloadId));
            request.ResourcePath = "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetChoiceUpdates())
                {
                    context.Writer.WritePropertyName("ChoiceUpdates");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestChoiceUpdatesKvp in publicRequest.ChoiceUpdates)
                    {
                        context.Writer.WritePropertyName(publicRequestChoiceUpdatesKvp.Key);
                        var publicRequestChoiceUpdatesValue = publicRequestChoiceUpdatesKvp.Value;

                        context.Writer.WriteObjectStart();

                        var marshaller = ChoiceUpdateMarshaller.Instance;
                        marshaller.Marshall(publicRequestChoiceUpdatesValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetIsApplicable())
                {
                    context.Writer.WritePropertyName("IsApplicable");
                    context.Writer.Write(publicRequest.IsApplicable);
                }

                if (publicRequest.IsSetNotes())
                {
                    context.Writer.WritePropertyName("Notes");
                    context.Writer.Write(publicRequest.Notes);
                }

                if (publicRequest.IsSetReason())
                {
                    context.Writer.WritePropertyName("Reason");
                    context.Writer.Write(publicRequest.Reason);
                }

                if (publicRequest.IsSetSelectedChoices())
                {
                    context.Writer.WritePropertyName("SelectedChoices");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestSelectedChoicesListValue in publicRequest.SelectedChoices)
                    {
                        context.Writer.Write(publicRequestSelectedChoicesListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Beispiel #30
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>  
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(DescribeLaunchTemplateVersionsRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.EC2");
            request.Parameters.Add("Action", "DescribeLaunchTemplateVersions");
            request.Parameters.Add("Version", "2016-11-15");

            if(publicRequest != null)
            {
                if(publicRequest.IsSetFilters())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach(var publicRequestlistValue in publicRequest.Filters)
                    {
                        if(publicRequestlistValue.IsSetName())
                        {
                            request.Parameters.Add("Filter" + "." + publicRequestlistValueIndex + "." + "Name", StringUtils.FromString(publicRequestlistValue.Name));
                        }
                        if(publicRequestlistValue.IsSetValues())
                        {
                            int publicRequestlistValuelistValueIndex = 1;
                            foreach(var publicRequestlistValuelistValue in publicRequestlistValue.Values)
                            {
                                request.Parameters.Add("Filter" + "." + publicRequestlistValueIndex + "." + "Value" + "." + publicRequestlistValuelistValueIndex, StringUtils.FromString(publicRequestlistValuelistValue));
                                publicRequestlistValuelistValueIndex++;
                            }
                        }
                        publicRequestlistValueIndex++;
                    }
                }
                if(publicRequest.IsSetLaunchTemplateId())
                {
                    request.Parameters.Add("LaunchTemplateId", StringUtils.FromString(publicRequest.LaunchTemplateId));
                }
                if(publicRequest.IsSetLaunchTemplateName())
                {
                    request.Parameters.Add("LaunchTemplateName", StringUtils.FromString(publicRequest.LaunchTemplateName));
                }
                if(publicRequest.IsSetMaxResults())
                {
                    request.Parameters.Add("MaxResults", StringUtils.FromInt(publicRequest.MaxResults));
                }
                if(publicRequest.IsSetMaxVersion())
                {
                    request.Parameters.Add("MaxVersion", StringUtils.FromString(publicRequest.MaxVersion));
                }
                if(publicRequest.IsSetMinVersion())
                {
                    request.Parameters.Add("MinVersion", StringUtils.FromString(publicRequest.MinVersion));
                }
                if(publicRequest.IsSetNextToken())
                {
                    request.Parameters.Add("NextToken", StringUtils.FromString(publicRequest.NextToken));
                }
                if(publicRequest.IsSetVersions())
                {
                    int publicRequestlistValueIndex = 1;
                    foreach(var publicRequestlistValue in publicRequest.Versions)
                    {
                        request.Parameters.Add("LaunchTemplateVersion" + "." + publicRequestlistValueIndex, StringUtils.FromString(publicRequestlistValue));
                        publicRequestlistValueIndex++;
                    }
                }
            }
            return request;
        }