# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::Compute::Mgmt::V2020_09_30_preview module Models # # Specifies information about the gallery image definition that you want to # create or update. # class SharedGalleryImage < PirSharedGalleryResource include MsRestAzure # @return [OperatingSystemTypes] This property allows you to specify the # type of the OS that is included in the disk when creating a VM from a # managed image.

Possible values are:

**Windows** #

**Linux**. Possible values include: 'Windows', 'Linux' attr_accessor :os_type # @return [OperatingSystemStateTypes] This property allows the user to # specify whether the virtual machines created under this image are # 'Generalized' or 'Specialized'. Possible values include: 'Generalized', # 'Specialized' attr_accessor :os_state # @return [DateTime] The end of life date of the gallery image # definition. This property can be used for decommissioning purposes. # This property is updatable. attr_accessor :end_of_life_date # @return [GalleryImageIdentifier] attr_accessor :identifier # @return [RecommendedMachineConfiguration] attr_accessor :recommended # @return [Disallowed] attr_accessor :disallowed # @return [HyperVGeneration] The hypervisor generation of the Virtual # Machine. Applicable to OS disks only. Possible values include: 'V1', # 'V2' attr_accessor :hyper_vgeneration # @return [Array] A list of gallery image features. attr_accessor :features # @return [ImagePurchasePlan] attr_accessor :purchase_plan # # Mapper for SharedGalleryImage class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'SharedGalleryImage', type: { name: 'Composite', class_name: 'SharedGalleryImage', model_properties: { name: { client_side_validation: true, required: false, read_only: true, serialized_name: 'name', type: { name: 'String' } }, location: { client_side_validation: true, required: false, read_only: true, serialized_name: 'location', type: { name: 'String' } }, unique_id: { client_side_validation: true, required: false, serialized_name: 'identifier.uniqueId', type: { name: 'String' } }, os_type: { client_side_validation: true, required: true, serialized_name: 'properties.osType', type: { name: 'Enum', module: 'OperatingSystemTypes' } }, os_state: { client_side_validation: true, required: true, serialized_name: 'properties.osState', type: { name: 'Enum', module: 'OperatingSystemStateTypes' } }, end_of_life_date: { client_side_validation: true, required: false, serialized_name: 'properties.endOfLifeDate', type: { name: 'DateTime' } }, identifier: { client_side_validation: true, required: true, serialized_name: 'properties.identifier', type: { name: 'Composite', class_name: 'GalleryImageIdentifier' } }, recommended: { client_side_validation: true, required: false, serialized_name: 'properties.recommended', type: { name: 'Composite', class_name: 'RecommendedMachineConfiguration' } }, disallowed: { client_side_validation: true, required: false, serialized_name: 'properties.disallowed', type: { name: 'Composite', class_name: 'Disallowed' } }, hyper_vgeneration: { client_side_validation: true, required: false, serialized_name: 'properties.hyperVGeneration', type: { name: 'String' } }, features: { client_side_validation: true, required: false, serialized_name: 'properties.features', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'GalleryImageFeatureElementType', type: { name: 'Composite', class_name: 'GalleryImageFeature' } } } }, purchase_plan: { client_side_validation: true, required: false, serialized_name: 'properties.purchasePlan', type: { name: 'Composite', class_name: 'ImagePurchasePlan' } } } } } end end end end