Class: Google::Apis::OsconfigV1beta::PatchDeployment

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/osconfig_v1beta/classes.rb,
lib/google/apis/osconfig_v1beta/representations.rb,
lib/google/apis/osconfig_v1beta/representations.rb

Overview

Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see Scheduling patch jobs.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ PatchDeployment

Returns a new instance of PatchDeployment.



1530
1531
1532
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1530

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#create_timeString

Output only. Time the patch deployment was created. Timestamp is in RFC3339 text format. Corresponds to the JSON property createTime

Returns:

  • (String)


1462
1463
1464
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1462

def create_time
  @create_time
end

#descriptionString

Optional. Description of the patch deployment. Length of the description is limited to 1024 characters. Corresponds to the JSON property description

Returns:

  • (String)


1468
1469
1470
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1468

def description
  @description
end

#durationString

Optional. Duration of the patch. After the duration ends, the patch times out. Corresponds to the JSON property duration

Returns:

  • (String)


1473
1474
1475
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1473

def duration
  @duration
end

#instance_filterGoogle::Apis::OsconfigV1beta::PatchInstanceFilter

A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. Corresponds to the JSON property instanceFilter



1480
1481
1482
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1480

def instance_filter
  @instance_filter
end

#last_execute_timeString

Output only. The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format. Corresponds to the JSON property lastExecuteTime

Returns:

  • (String)


1486
1487
1488
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1486

def last_execute_time
  @last_execute_time
end

#nameString

Unique name for the patch deployment resource in a project. The patch deployment name is in the form: projects/project_id/patchDeployments/ patch_deployment_id`. This field is ignored when you create a new patch deployment. Corresponds to the JSON propertyname`

Returns:

  • (String)


1494
1495
1496
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1494

def name
  @name
end

#one_time_scheduleGoogle::Apis::OsconfigV1beta::OneTimeSchedule

Sets the time for a one time patch deployment. Timestamp is in RFC3339 text format. Corresponds to the JSON property oneTimeSchedule



1500
1501
1502
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1500

def one_time_schedule
  @one_time_schedule
end

#patch_configGoogle::Apis::OsconfigV1beta::PatchConfig

Patch configuration specifications. Contains details on how to apply the patch( es) to a VM instance. Corresponds to the JSON property patchConfig



1506
1507
1508
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1506

def patch_config
  @patch_config
end

#recurring_scheduleGoogle::Apis::OsconfigV1beta::RecurringSchedule

Sets the time for recurring patch deployments. Corresponds to the JSON property recurringSchedule



1511
1512
1513
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1511

def recurring_schedule
  @recurring_schedule
end

#rolloutGoogle::Apis::OsconfigV1beta::PatchRollout

Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. Corresponds to the JSON property rollout



1517
1518
1519
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1517

def rollout
  @rollout
end

#stateString

Output only. Current state of the patch deployment. Corresponds to the JSON property state

Returns:

  • (String)


1522
1523
1524
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1522

def state
  @state
end

#update_timeString

Output only. Time the patch deployment was last updated. Timestamp is in RFC3339 text format. Corresponds to the JSON property updateTime

Returns:

  • (String)


1528
1529
1530
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1528

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1535

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @duration = args[:duration] if args.key?(:duration)
  @instance_filter = args[:instance_filter] if args.key?(:instance_filter)
  @last_execute_time = args[:last_execute_time] if args.key?(:last_execute_time)
  @name = args[:name] if args.key?(:name)
  @one_time_schedule = args[:one_time_schedule] if args.key?(:one_time_schedule)
  @patch_config = args[:patch_config] if args.key?(:patch_config)
  @recurring_schedule = args[:recurring_schedule] if args.key?(:recurring_schedule)
  @rollout = args[:rollout] if args.key?(:rollout)
  @state = args[:state] if args.key?(:state)
  @update_time = args[:update_time] if args.key?(:update_time)
end