Skip to content

modify_option_group

modify_option_group(
    *,
    config_overrides: Optional[RDSClientConfig] = None,
    option_group_name: Optional[String] = None,
    options_to_include: Optional[OptionConfigurationList] = None,
    options_to_remove: Optional[OptionNamesList] = None,
    apply_immediately: Optional[Boolean] = None,
) -> ModifyOptionGroupResult

Modifies an existing option group.

Parameters:

  • option_group_name (Optional[String], default: None ) –

    The name of the option group to be modified.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

  • options_to_include (Optional[OptionConfigurationList], default: None ) –

    Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.

  • options_to_remove (Optional[OptionNamesList], default: None ) –

    Options in this list are removed from the option group.

  • apply_immediately (Optional[Boolean], default: None ) –

    Specifies whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

Raises:

Examples:

To modify an option group The following example adds an option to an option group.

>>> client.modify_option_group(option_group_name='myawsuser-og02', options_to_include=[{'OptionName': 'MEMCACHED', 'DBSecurityGroupMemberships': ['default']}], apply_immediately=True)
Source code in docs_src/capo_rds/_services/rds.py
def modify_option_group(
    self,
    *,
    config_overrides: Optional[RDSClientConfig] = None,
    option_group_name: Optional["capo_rds.types.string.String"] = None,
    options_to_include: Optional[
        "capo_rds.types.option_configuration_list.OptionConfigurationList"
    ] = None,
    options_to_remove: Optional[
        "capo_rds.types.option_names_list.OptionNamesList"
    ] = None,
    apply_immediately: Optional["capo_rds.types.boolean.Boolean"] = None,
) -> "capo_rds.types.modify_option_group_result.ModifyOptionGroupResult":
    """<p>Modifies an existing option group.</p>

    Args:
        option_group_name: <p>The name of the option group to be modified.</p> <p>Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance</p>
        options_to_include: <p>Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.</p>
        options_to_remove: <p>Options in this list are removed from the option group.</p>
        apply_immediately: <p>Specifies whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.</p>

    Raises:
        capo_rds.errors.invalid_option_group_state_fault.InvalidOptionGroupStateFault: <p>The option group isn't in the <i>available</i> state.</p>
        capo_rds.errors.option_group_not_found_fault.OptionGroupNotFoundFault: <p>The specified option group could not be found.</p>
        capo_rds.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To modify an option group
        The following example adds an option to an option group.

        >>> client.modify_option_group(option_group_name='myawsuser-og02', options_to_include=[{'OptionName': 'MEMCACHED', 'DBSecurityGroupMemberships': ['default']}], apply_immediately=True)
    """

    def _handler(
        req: "OperationRequest[capo_rds.types.modify_option_group_message.ModifyOptionGroupMessage]",
    ) -> OperationResponse[
        "capo_rds.types.modify_option_group_result.ModifyOptionGroupResult"
    ]:
        import capo_rds._operations.amazon_rd_sv19.modify_option_group

        output, http_response = (
            capo_rds._operations.amazon_rd_sv19.modify_option_group.modify_option_group(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_rds.types.modify_option_group_message.ModifyOptionGroupMessage",
    ) -> dict[str, Any]:
        import capo_rds.types.modify_option_group_message

        return capo_rds.types.modify_option_group_message.redact_sensitive(input_)

    def _redact_output(
        output: "capo_rds.types.modify_option_group_result.ModifyOptionGroupResult",
    ) -> dict[str, Any]:
        import capo_rds.types.modify_option_group_result

        return capo_rds.types.modify_option_group_result.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "ModifyOptionGroup",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_rds.types.modify_option_group_message.ModifyOptionGroupMessage = {}
    if option_group_name is not None:
        input_["option_group_name"] = option_group_name
    if options_to_include is not None:
        input_["options_to_include"] = options_to_include
    if options_to_remove is not None:
        input_["options_to_remove"] = options_to_remove
    if apply_immediately is not None:
        input_["apply_immediately"] = apply_immediately

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output