def __init__(__self__, *, description: Optional[pulumi.Input[str]]=None, name: Optional[pulumi.Input[str]]=None, share_settings: Optional[pulumi.Input['ShareSettingsArgs']]=None, specific_reservation: Optional[pulumi.Input['AllocationSpecificSKUReservationArgs']]=None, specific_reservation_required: Optional[pulumi.Input[bool]]=None, zone: Optional[pulumi.Input[str]]=None):
    '\n        Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.\n        :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.\n        :param pulumi.Input[str] name: The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.\n        :param pulumi.Input[\'ShareSettingsArgs\'] share_settings: Share-settings for shared-reservation\n        :param pulumi.Input[\'AllocationSpecificSKUReservationArgs\'] specific_reservation: Reservation for instances with specific machine shapes.\n        :param pulumi.Input[bool] specific_reservation_required: Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.\n        :param pulumi.Input[str] zone: Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.\n        '
    if (description is not None):
        pulumi.set(__self__, 'description', description)
    if (name is not None):
        pulumi.set(__self__, 'name', name)
    if (share_settings is not None):
        pulumi.set(__self__, 'share_settings', share_settings)
    if (specific_reservation is not None):
        pulumi.set(__self__, 'specific_reservation', specific_reservation)
    if (specific_reservation_required is not None):
        pulumi.set(__self__, 'specific_reservation_required', specific_reservation_required)
    if (zone is not None):
        pulumi.set(__self__, 'zone', zone)
Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.
:param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
:param pulumi.Input[str] name: The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
:param pulumi.Input['ShareSettingsArgs'] share_settings: Share-settings for shared-reservation
:param pulumi.Input['AllocationSpecificSKUReservationArgs'] specific_reservation: Reservation for instances with specific machine shapes.
:param pulumi.Input[bool] specific_reservation_required: Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.
:param pulumi.Input[str] zone: Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.
def __init__(__self__, *, description: Optional[pulumi.Input[str]]=None, name: Optional[pulumi.Input[str]]=None, share_settings: Optional[pulumi.Input['ShareSettingsArgs']]=None, specific_reservation: Optional[pulumi.Input['AllocationSpecificSKUReservationArgs']]=None, specific_reservation_required: Optional[pulumi.Input[bool]]=None, zone: Optional[pulumi.Input[str]]=None):
    '\n        Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.\n        :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.\n        :param pulumi.Input[str] name: The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.\n        :param pulumi.Input[\'ShareSettingsArgs\'] share_settings: Share-settings for shared-reservation\n        :param pulumi.Input[\'AllocationSpecificSKUReservationArgs\'] specific_reservation: Reservation for instances with specific machine shapes.\n        :param pulumi.Input[bool] specific_reservation_required: Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.\n        :param pulumi.Input[str] zone: Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.\n        '
    if (description is not None):
        pulumi.set(__self__, 'description', description)
    if (name is not None):
        pulumi.set(__self__, 'name', name)
    if (share_settings is not None):
        pulumi.set(__self__, 'share_settings', share_settings)
    if (specific_reservation is not None):
        pulumi.set(__self__, 'specific_reservation', specific_reservation)
    if (specific_reservation_required is not None):
        pulumi.set(__self__, 'specific_reservation_required', specific_reservation_required)
    if (zone is not None):
        pulumi.set(__self__, 'zone', zone)