Пример #1
0
 public PropertyContainer(Models.WindowsUserConfiguration protocolObject) : base(BindingState.Bound)
 {
     this.LoginModeProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.LoginMode, Common.LoginMode>(protocolObject.LoginMode),
         nameof(LoginMode),
         BindingAccess.Read);
 }
Пример #2
0
        /// <summary>
        /// Commits all pending changes to this <see cref="CloudJob" /> to the Azure Batch service.
        /// </summary>
        /// <param name="additionalBehaviors">A collection of <see cref="BatchClientBehavior"/> instances that are applied to the Batch service request after the <see cref="CustomBehaviors"/>.</param>
        /// <param name="cancellationToken">A <see cref="CancellationToken"/> for controlling the lifetime of the asynchronous operation.</param>
        /// <returns>A <see cref="System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
        /// <remarks>
        /// <para>
        /// Updates an existing <see cref="CloudJob"/> on the Batch service by replacing its properties with the properties of this <see cref="CloudJob"/> which have been changed.
        /// Unchanged properties are ignored.
        /// All changes since the last time this entity was retrieved from the Batch service (either via <see cref="Refresh"/>, <see cref="JobOperations.GetJob"/>,
        /// or <see cref="JobOperations.ListJobs"/>) are applied.
        /// Properties which are explicitly set to null will cause an exception because the Batch service does not support partial updates which set a property to null.
        /// If you need to set a property to null, use <see cref="Commit"/>.
        /// </para>
        /// <para>This operation runs asynchronously.</para>
        /// </remarks>
        public async Task CommitChangesAsync(
            IEnumerable <BatchClientBehavior> additionalBehaviors = null,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            UtilitiesInternal.ThrowOnUnbound(this.propertyContainer.BindingState);

            // first forbid actions during patch
            this.propertyContainer.IsReadOnly = true;

            // craft the behavior manager for this call
            BehaviorManager behaveMgr = new BehaviorManager(this.CustomBehaviors, additionalBehaviors);

            Models.MetadataItem[] modelMetadata = this.propertyContainer.MetadataProperty.
                                                  GetTransportObjectIfChanged <MetadataItem, Models.MetadataItem>();
            Models.JobConstraints modelJobConstraints = this.propertyContainer.ConstraintsProperty.
                                                        GetTransportObjectIfChanged <JobConstraints, Models.JobConstraints>();
            Models.PoolInformation modelPoolInformation = this.propertyContainer.PoolInformationProperty.
                                                          GetTransportObjectIfChanged <PoolInformation, Models.PoolInformation>();
            int?priority = this.propertyContainer.PriorityProperty.GetIfChangedOrNull();

            Task asyncTask = this.parentBatchClient.ProtocolLayer.PatchJob(
                this.Id,
                priority,
                UtilitiesInternal.MapNullableEnum <Common.OnAllTasksComplete, Models.OnAllTasksComplete>(this.OnAllTasksComplete),
                modelPoolInformation,
                modelJobConstraints,
                modelMetadata,
                behaveMgr,
                cancellationToken);

            await asyncTask.ConfigureAwait(continueOnCapturedContext : false);
        }
Пример #3
0
 internal TaskContainerSettings(Models.TaskContainerSettings protocolObject)
 {
     this.ContainerRunOptions = protocolObject.ContainerRunOptions;
     this.ImageName           = protocolObject.ImageName;
     this.Registry            = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.Registry, o => new ContainerRegistry(o).Freeze());
     this.WorkingDirectory    = UtilitiesInternal.MapNullableEnum <Models.ContainerWorkingDirectory, Common.ContainerWorkingDirectory>(protocolObject.WorkingDirectory);
 }
Пример #4
0
 public PropertyContainer(Models.DiffDiskSettings protocolObject) : base(BindingState.Bound)
 {
     this.PlacementProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.DiffDiskPlacement, Common.DiffDiskPlacement>(protocolObject.Placement),
         nameof(Placement),
         BindingAccess.Read | BindingAccess.Write);
 }
Пример #5
0
 public PropertyContainer(Models.ExitOptions protocolObject) : base(BindingState.Bound)
 {
     this.JobActionProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.JobAction, Common.JobAction>(protocolObject.JobAction),
         "JobAction",
         BindingAccess.Read);
 }
Пример #6
0
 internal DataDisk(Models.DataDisk protocolObject)
 {
     this.Caching            = UtilitiesInternal.MapNullableEnum <Models.CachingType, Common.CachingType>(protocolObject.Caching);
     this.DiskSizeGB         = protocolObject.DiskSizeGB;
     this.Lun                = protocolObject.Lun;
     this.StorageAccountType = UtilitiesInternal.MapNullableEnum <Models.StorageAccountType, Common.StorageAccountType>(protocolObject.StorageAccountType);
 }
Пример #7
0
 public PropertyContainer(Models.JobSpecification protocolObject) : base(BindingState.Bound)
 {
     this.CommonEnvironmentSettingsProperty = this.CreatePropertyAccessor(
         EnvironmentSetting.ConvertFromProtocolCollection(protocolObject.CommonEnvironmentSettings),
         nameof(CommonEnvironmentSettings),
         BindingAccess.Read | BindingAccess.Write);
     this.ConstraintsProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.Constraints, o => new JobConstraints(o)),
         nameof(Constraints),
         BindingAccess.Read | BindingAccess.Write);
     this.DisplayNameProperty = this.CreatePropertyAccessor(
         protocolObject.DisplayName,
         nameof(DisplayName),
         BindingAccess.Read | BindingAccess.Write);
     this.JobManagerTaskProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.JobManagerTask, o => new JobManagerTask(o)),
         nameof(JobManagerTask),
         BindingAccess.Read | BindingAccess.Write);
     this.JobPreparationTaskProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.JobPreparationTask, o => new JobPreparationTask(o)),
         nameof(JobPreparationTask),
         BindingAccess.Read | BindingAccess.Write);
     this.JobReleaseTaskProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.JobReleaseTask, o => new JobReleaseTask(o)),
         nameof(JobReleaseTask),
         BindingAccess.Read | BindingAccess.Write);
     this.MaxParallelTasksProperty = this.CreatePropertyAccessor(
         protocolObject.MaxParallelTasks,
         nameof(MaxParallelTasks),
         BindingAccess.Read | BindingAccess.Write);
     this.MetadataProperty = this.CreatePropertyAccessor(
         MetadataItem.ConvertFromProtocolCollection(protocolObject.Metadata),
         nameof(Metadata),
         BindingAccess.Read | BindingAccess.Write);
     this.NetworkConfigurationProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.NetworkConfiguration, o => new JobNetworkConfiguration(o).Freeze()),
         nameof(NetworkConfiguration),
         BindingAccess.Read);
     this.OnAllTasksCompleteProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.OnAllTasksComplete, Common.OnAllTasksComplete>(protocolObject.OnAllTasksComplete),
         nameof(OnAllTasksComplete),
         BindingAccess.Read | BindingAccess.Write);
     this.OnTaskFailureProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.OnTaskFailure, Common.OnTaskFailure>(protocolObject.OnTaskFailure),
         nameof(OnTaskFailure),
         BindingAccess.Read | BindingAccess.Write);
     this.PoolInformationProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.PoolInfo, o => new PoolInformation(o)),
         nameof(PoolInformation),
         BindingAccess.Read | BindingAccess.Write);
     this.PriorityProperty = this.CreatePropertyAccessor(
         protocolObject.Priority,
         nameof(Priority),
         BindingAccess.Read | BindingAccess.Write);
     this.UsesTaskDependenciesProperty = this.CreatePropertyAccessor(
         protocolObject.UsesTaskDependencies,
         nameof(UsesTaskDependencies),
         BindingAccess.Read | BindingAccess.Write);
 }
Пример #8
0
 internal InstanceViewStatus(Models.InstanceViewStatus protocolObject)
 {
     this.Code          = protocolObject.Code;
     this.DisplayStatus = protocolObject.DisplayStatus;
     this.Level         = UtilitiesInternal.MapNullableEnum <Models.StatusLevelTypes, Common.StatusLevelTypes>(protocolObject.Level);
     this.Message       = protocolObject.Message;
     this.Time          = protocolObject.Time;
 }
Пример #9
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.NodePlacementConfiguration ITransportObjectProvider <Models.NodePlacementConfiguration> .GetTransportObject()
        {
            Models.NodePlacementConfiguration result = new Models.NodePlacementConfiguration()
            {
                Policy = UtilitiesInternal.MapNullableEnum <Common.NodePlacementPolicyType, Models.NodePlacementPolicyType>(this.Policy),
            };

            return(result);
        }
Пример #10
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.ExitOptions ITransportObjectProvider <Models.ExitOptions> .GetTransportObject()
        {
            Models.ExitOptions result = new Models.ExitOptions()
            {
                JobAction = UtilitiesInternal.MapNullableEnum <Common.JobAction, Models.JobAction>(this.JobAction),
            };

            return(result);
        }
Пример #11
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.DiffDiskSettings ITransportObjectProvider <Models.DiffDiskSettings> .GetTransportObject()
        {
            Models.DiffDiskSettings result = new Models.DiffDiskSettings()
            {
                Placement = UtilitiesInternal.MapNullableEnum <Common.DiffDiskPlacement, Models.DiffDiskPlacement>(this.Placement),
            };

            return(result);
        }
Пример #12
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.WindowsUserConfiguration ITransportObjectProvider <Models.WindowsUserConfiguration> .GetTransportObject()
        {
            Models.WindowsUserConfiguration result = new Models.WindowsUserConfiguration()
            {
                LoginMode = UtilitiesInternal.MapNullableEnum <Common.LoginMode, Models.LoginMode>(this.LoginMode),
            };

            return(result);
        }
 internal ImageInformation(Models.ImageInformation protocolObject)
 {
     this.BatchSupportEndOfLife = protocolObject.BatchSupportEndOfLife;
     this.Capabilities          = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.Capabilities, o => o.ToList().AsReadOnly());
     this.ImageReference        = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.ImageReference, o => new ImageReference(o).Freeze());
     this.NodeAgentSkuId        = protocolObject.NodeAgentSKUId;
     this.OSType           = UtilitiesInternal.MapNullableEnum <Models.OSType, Common.OSType>(protocolObject.OsType);
     this.VerificationType = UtilitiesInternal.MapNullableEnum <Models.VerificationType, Common.VerificationType>(protocolObject.VerificationType);
 }
Пример #14
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.AutoUserSpecification ITransportObjectProvider <Models.AutoUserSpecification> .GetTransportObject()
        {
            Models.AutoUserSpecification result = new Models.AutoUserSpecification()
            {
                ElevationLevel = UtilitiesInternal.MapNullableEnum <Common.ElevationLevel, Models.ElevationLevel>(this.ElevationLevel),
                Scope          = UtilitiesInternal.MapNullableEnum <Common.AutoUserScope, Models.AutoUserScope>(this.Scope),
            };

            return(result);
        }
Пример #15
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.PublicIPAddressConfiguration ITransportObjectProvider <Models.PublicIPAddressConfiguration> .GetTransportObject()
        {
            Models.PublicIPAddressConfiguration result = new Models.PublicIPAddressConfiguration()
            {
                IpAddressIds = this.IpAddressIds,
                Provision    = UtilitiesInternal.MapNullableEnum <Common.IPAddressProvisioningType, Models.IPAddressProvisioningType>(this.Provision),
            };

            return(result);
        }
Пример #16
0
 public PropertyContainer(Models.PublicIPAddressConfiguration protocolObject) : base(BindingState.Bound)
 {
     this.IpAddressIdsProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CollectionToThreadSafeCollection(protocolObject.IpAddressIds, o => o),
         nameof(IpAddressIds),
         BindingAccess.Read);
     this.ProvisionProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.IPAddressProvisioningType, Common.IPAddressProvisioningType>(protocolObject.Provision),
         nameof(Provision),
         BindingAccess.Read);
 }
Пример #17
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.NetworkConfiguration ITransportObjectProvider <Models.NetworkConfiguration> .GetTransportObject()
        {
            Models.NetworkConfiguration result = new Models.NetworkConfiguration()
            {
                DynamicVNetAssignmentScope = UtilitiesInternal.MapNullableEnum <Common.DynamicVNetAssignmentScope, Models.DynamicVNetAssignmentScope>(this.DynamicVNetAssignmentScope),
                EndpointConfiguration      = UtilitiesInternal.CreateObjectWithNullCheck(this.EndpointConfiguration, (o) => o.GetTransportObject()),
                SubnetId = this.SubnetId,
            };

            return(result);
        }
Пример #18
0
 internal Certificate(BatchClient parentBatchClient, Models.CertificateAddParameter protocolObject, IEnumerable <BatchClientBehavior> baseBehaviors) :
     this(
         parentBatchClient,
         baseBehaviors,
         protocolObject.Data,
         protocolObject.Thumbprint,
         protocolObject.ThumbprintAlgorithm,
         UtilitiesInternal.MapNullableEnum <Models.CertificateFormat, Common.CertificateFormat>(protocolObject.CertificateFormat),
         protocolObject.Password)
 {
 }
 internal JobReleaseTaskExecutionInformation(Models.JobReleaseTaskExecutionInformation protocolObject)
 {
     this.ContainerInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.ContainerInfo, o => new TaskContainerExecutionInformation(o).Freeze());
     this.EndTime            = protocolObject.EndTime;
     this.ExitCode           = protocolObject.ExitCode;
     this.FailureInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.FailureInfo, o => new TaskFailureInformation(o).Freeze());
     this.Result             = UtilitiesInternal.MapNullableEnum <Models.TaskExecutionResult, Common.TaskExecutionResult>(protocolObject.Result);
     this.StartTime          = protocolObject.StartTime;
     this.State                = UtilitiesInternal.MapEnum <Models.JobReleaseTaskState, Common.JobReleaseTaskState>(protocolObject.State);
     this.TaskRootDirectory    = protocolObject.TaskRootDirectory;
     this.TaskRootDirectoryUrl = protocolObject.TaskRootDirectoryUrl;
 }
Пример #20
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.DataDisk ITransportObjectProvider <Models.DataDisk> .GetTransportObject()
        {
            Models.DataDisk result = new Models.DataDisk()
            {
                Caching            = UtilitiesInternal.MapNullableEnum <Common.CachingType, Models.CachingType>(this.Caching),
                DiskSizeGB         = this.DiskSizeGB,
                Lun                = this.Lun,
                StorageAccountType = UtilitiesInternal.MapNullableEnum <Common.StorageAccountType, Models.StorageAccountType>(this.StorageAccountType),
            };

            return(result);
        }
Пример #21
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.TaskContainerSettings ITransportObjectProvider <Models.TaskContainerSettings> .GetTransportObject()
        {
            Models.TaskContainerSettings result = new Models.TaskContainerSettings()
            {
                ContainerRunOptions = this.ContainerRunOptions,
                ImageName           = this.ImageName,
                Registry            = UtilitiesInternal.CreateObjectWithNullCheck(this.Registry, (o) => o.GetTransportObject()),
                WorkingDirectory    = UtilitiesInternal.MapNullableEnum <Common.ContainerWorkingDirectory, Models.ContainerWorkingDirectory>(this.WorkingDirectory),
            };

            return(result);
        }
 internal StartTaskInformation(Models.StartTaskInformation protocolObject)
 {
     this.ContainerInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.ContainerInfo, o => new TaskContainerExecutionInformation(o).Freeze());
     this.EndTime            = protocolObject.EndTime;
     this.ExitCode           = protocolObject.ExitCode;
     this.FailureInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.FailureInfo, o => new TaskFailureInformation(o).Freeze());
     this.LastRetryTime      = protocolObject.LastRetryTime;
     this.Result             = UtilitiesInternal.MapNullableEnum <Models.TaskExecutionResult, Common.TaskExecutionResult>(protocolObject.Result);
     this.RetryCount         = protocolObject.RetryCount;
     this.StartTime          = protocolObject.StartTime;
     this.State = UtilitiesInternal.MapEnum <Models.StartTaskState, Common.StartTaskState>(protocolObject.State);
 }
Пример #23
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.CertificateReference ITransportObjectProvider <Models.CertificateReference> .GetTransportObject()
        {
            Models.CertificateReference result = new Models.CertificateReference()
            {
                StoreLocation       = UtilitiesInternal.MapNullableEnum <Common.CertStoreLocation, Models.CertificateStoreLocation>(this.StoreLocation),
                StoreName           = this.StoreName,
                Thumbprint          = this.Thumbprint,
                ThumbprintAlgorithm = this.ThumbprintAlgorithm,
                Visibility          = UtilitiesInternal.CertificateVisibilityToList(this.Visibility),
            };

            return(result);
        }
Пример #24
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.InstanceViewStatus ITransportObjectProvider <Models.InstanceViewStatus> .GetTransportObject()
        {
            Models.InstanceViewStatus result = new Models.InstanceViewStatus()
            {
                Code          = this.Code,
                DisplayStatus = this.DisplayStatus,
                Level         = UtilitiesInternal.MapNullableEnum <Common.StatusLevelTypes, Models.StatusLevelTypes>(this.Level),
                Message       = this.Message,
                Time          = this.Time,
            };

            return(result);
        }
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.CertificateAddParameter ITransportObjectProvider <Models.CertificateAddParameter> .GetTransportObject()
        {
            Models.CertificateAddParameter result = new Models.CertificateAddParameter()
            {
                CertificateFormat = UtilitiesInternal.MapNullableEnum <Common.CertificateFormat, Models.CertificateFormat>(this.CertificateFormat),
                Data                = this.Data,
                Password            = this.Password,
                Thumbprint          = this.Thumbprint,
                ThumbprintAlgorithm = this.ThumbprintAlgorithm,
            };

            return(result);
        }
Пример #26
0
 internal SubtaskInformation(Models.SubtaskInformation protocolObject)
 {
     this.computeNodeInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.NodeInfo, o => new ComputeNodeInformation(o).Freeze());
     this.endTime       = protocolObject.EndTime;
     this.exitCode      = protocolObject.ExitCode;
     this.id            = protocolObject.Id;
     this.previousState = UtilitiesInternal.MapNullableEnum <Models.TaskState, Common.TaskState>(protocolObject.PreviousState);
     this.previousStateTransitionTime = protocolObject.PreviousStateTransitionTime;
     this.schedulingError             = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.SchedulingError, o => new TaskSchedulingError(o).Freeze());
     this.startTime           = protocolObject.StartTime;
     this.state               = UtilitiesInternal.MapNullableEnum <Models.TaskState, Common.TaskState>(protocolObject.State);
     this.stateTransitionTime = protocolObject.StateTransitionTime;
 }
Пример #27
0
        /// <summary>
        /// Return a protocol object of the requested type.
        /// </summary>
        /// <returns>The protocol object of the requested type.</returns>
        Models.UserAccount ITransportObjectProvider <Models.UserAccount> .GetTransportObject()
        {
            Models.UserAccount result = new Models.UserAccount()
            {
                ElevationLevel         = UtilitiesInternal.MapNullableEnum <Common.ElevationLevel, Models.ElevationLevel>(this.ElevationLevel),
                LinuxUserConfiguration = UtilitiesInternal.CreateObjectWithNullCheck(this.LinuxUserConfiguration, (o) => o.GetTransportObject()),
                Name     = this.Name,
                Password = this.Password,
                WindowsUserConfiguration = UtilitiesInternal.CreateObjectWithNullCheck(this.WindowsUserConfiguration, (o) => o.GetTransportObject()),
            };

            return(result);
        }
 internal SubtaskInformation(Models.SubtaskInformation protocolObject)
 {
     this.ComputeNodeInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.NodeInfo, o => new ComputeNodeInformation(o).Freeze());
     this.ContainerInformation   = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.ContainerInfo, o => new TaskContainerExecutionInformation(o).Freeze());
     this.EndTime            = protocolObject.EndTime;
     this.ExitCode           = protocolObject.ExitCode;
     this.FailureInformation = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.FailureInfo, o => new TaskFailureInformation(o).Freeze());
     this.Id            = protocolObject.Id;
     this.PreviousState = UtilitiesInternal.MapNullableEnum <Models.SubtaskState, Common.SubtaskState>(protocolObject.PreviousState);
     this.PreviousStateTransitionTime = protocolObject.PreviousStateTransitionTime;
     this.Result              = UtilitiesInternal.MapNullableEnum <Models.TaskExecutionResult, Common.TaskExecutionResult>(protocolObject.Result);
     this.StartTime           = protocolObject.StartTime;
     this.State               = UtilitiesInternal.MapNullableEnum <Models.SubtaskState, Common.SubtaskState>(protocolObject.State);
     this.StateTransitionTime = protocolObject.StateTransitionTime;
 }
Пример #29
0
 public PropertyContainer(Models.NetworkConfiguration protocolObject) : base(BindingState.Bound)
 {
     this.DynamicVNetAssignmentScopeProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.DynamicVNetAssignmentScope, Common.DynamicVNetAssignmentScope>(protocolObject.DynamicVNetAssignmentScope),
         nameof(DynamicVNetAssignmentScope),
         BindingAccess.Read);
     this.EndpointConfigurationProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.EndpointConfiguration, o => new PoolEndpointConfiguration(o).Freeze()),
         nameof(EndpointConfiguration),
         BindingAccess.Read);
     this.SubnetIdProperty = this.CreatePropertyAccessor(
         protocolObject.SubnetId,
         nameof(SubnetId),
         BindingAccess.Read);
 }
 public PropertyContainer(Models.Certificate protocolObject) : base(BindingState.Bound)
 {
     this.CertificateFormatProperty = this.CreatePropertyAccessor <Common.CertificateFormat?>(
         nameof(CertificateFormat),
         BindingAccess.None);
     this.DataProperty = this.CreatePropertyAccessor <string>(
         nameof(Data),
         BindingAccess.None);
     this.DeleteCertificateErrorProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.DeleteCertificateError, o => new DeleteCertificateError(o).Freeze()),
         nameof(DeleteCertificateError),
         BindingAccess.Read);
     this.PasswordProperty = this.CreatePropertyAccessor <string>(
         nameof(Password),
         BindingAccess.None);
     this.PreviousStateProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.CertificateState, Common.CertificateState>(protocolObject.PreviousState),
         nameof(PreviousState),
         BindingAccess.Read);
     this.PreviousStateTransitionTimeProperty = this.CreatePropertyAccessor(
         protocolObject.PreviousStateTransitionTime,
         nameof(PreviousStateTransitionTime),
         BindingAccess.Read);
     this.PublicDataProperty = this.CreatePropertyAccessor(
         protocolObject.PublicData,
         nameof(PublicData),
         BindingAccess.Read);
     this.StateProperty = this.CreatePropertyAccessor(
         UtilitiesInternal.MapNullableEnum <Models.CertificateState, Common.CertificateState>(protocolObject.State),
         nameof(State),
         BindingAccess.Read);
     this.StateTransitionTimeProperty = this.CreatePropertyAccessor(
         protocolObject.StateTransitionTime,
         nameof(StateTransitionTime),
         BindingAccess.Read);
     this.ThumbprintProperty = this.CreatePropertyAccessor(
         protocolObject.Thumbprint,
         nameof(Thumbprint),
         BindingAccess.Read);
     this.ThumbprintAlgorithmProperty = this.CreatePropertyAccessor(
         protocolObject.ThumbprintAlgorithm,
         nameof(ThumbprintAlgorithm),
         BindingAccess.Read);
     this.UrlProperty = this.CreatePropertyAccessor(
         protocolObject.Url,
         nameof(Url),
         BindingAccess.Read);
 }