# 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::NetApp::Mgmt::V2020_06_01 module Models # # Snapshot policy information # class SnapshotPolicy include MsRestAzure # @return [String] Resource location attr_accessor :location # @return [String] Resource Id attr_accessor :id # @return [String] Resource name attr_accessor :name # @return [String] Resource type attr_accessor :type # @return [Hash{String => String}] Resource tags attr_accessor :tags # @return hourlySchedule. Schedule for hourly snapshots attr_accessor :hourly_schedule # @return dailySchedule. Schedule for daily snapshots attr_accessor :daily_schedule # @return weeklySchedule. Schedule for weekly snapshots attr_accessor :weekly_schedule # @return monthlySchedule. Schedule for monthly snapshots attr_accessor :monthly_schedule # @return [Boolean] The property to decide policy is enabled or not attr_accessor :enabled # # Mapper for SnapshotPolicy class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'snapshotPolicy', type: { name: 'Composite', class_name: 'SnapshotPolicy', model_properties: { location: { client_side_validation: true, required: true, serialized_name: 'location', type: { name: 'String' } }, id: { client_side_validation: true, required: false, read_only: true, serialized_name: 'id', type: { name: 'String' } }, name: { client_side_validation: true, required: false, read_only: true, serialized_name: 'name', type: { name: 'String' } }, type: { client_side_validation: true, required: false, read_only: true, serialized_name: 'type', type: { name: 'String' } }, tags: { client_side_validation: true, required: false, serialized_name: 'tags', type: { name: 'Dictionary', value: { client_side_validation: true, required: false, serialized_name: 'StringElementType', type: { name: 'String' } } } }, hourly_schedule: { client_side_validation: true, required: false, serialized_name: 'properties.hourlySchedule', type: { name: 'Object' } }, daily_schedule: { client_side_validation: true, required: false, serialized_name: 'properties.dailySchedule', type: { name: 'Object' } }, weekly_schedule: { client_side_validation: true, required: false, serialized_name: 'properties.weeklySchedule', type: { name: 'Object' } }, monthly_schedule: { client_side_validation: true, required: false, serialized_name: 'properties.monthlySchedule', type: { name: 'Object' } }, enabled: { client_side_validation: true, required: false, serialized_name: 'properties.enabled', type: { name: 'Boolean' } } } } } end end end end